<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ArNetworking: ArServerMode Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ArNetworking
   &#160;<span id="projectnumber">dev20161014</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArServerMode.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pro-static-attribs">Static Protected Attributes</a> &#124;
<a href="classArServerMode-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArServerMode Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>A mode for controlling the robot (only one active)  
 <a href="classArServerMode.html#details">More...</a></p>

<p><code>#include &lt;ArServerMode.h&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ArServerMode:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classArServerMode.png" usemap="#ArServerMode_map" alt=""/>
  <map id="ArServerMode_map" name="ArServerMode_map">
<area href="classArServerModeDrive.html" alt="ArServerModeDrive" shape="rect" coords="0,56,162,80"/>
<area href="classArServerModeIdle.html" title="Mode that the ArServerMode infrastructure will activate if someone tries to switch from one mode to a..." alt="ArServerModeIdle" shape="rect" coords="172,56,334,80"/>
<area href="classArServerModeJogPosition.html" title="Mode that allows clients to request simple discrete motions of the robot. " alt="ArServerModeJogPosition" shape="rect" coords="344,56,506,80"/>
<area href="classArServerModeRatioDrive.html" alt="ArServerModeRatioDrive" shape="rect" coords="516,56,678,80"/>
<area href="classArServerModeStop.html" alt="ArServerModeStop" shape="rect" coords="688,56,850,80"/>
<area href="classArServerModeWander.html" alt="ArServerModeWander" shape="rect" coords="860,56,1022,80"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a092c6d2981123554324e7697658c6814"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a092c6d2981123554324e7697658c6814">activate</a> (void)=0</td></tr>
<tr class="memdesc:a092c6d2981123554324e7697658c6814"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function called when the mode is activated.  <a href="#a092c6d2981123554324e7697658c6814">More...</a><br /></td></tr>
<tr class="separator:a092c6d2981123554324e7697658c6814"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e6c97caab6953a5886e10ea8a80c9c6"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a3e6c97caab6953a5886e10ea8a80c9c6">activationDenied</a> (void)</td></tr>
<tr class="memdesc:a3e6c97caab6953a5886e10ea8a80c9c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function called if the mode is not activated because another mode superceded it.  <a href="#a3e6c97caab6953a5886e10ea8a80c9c6">More...</a><br /></td></tr>
<tr class="separator:a3e6c97caab6953a5886e10ea8a80c9c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9055642c26c7814c7cee551686f73133"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a9055642c26c7814c7cee551686f73133">addActivateCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor, int position=50)</td></tr>
<tr class="memdesc:a9055642c26c7814c7cee551686f73133"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a callback for when this class is activated.  <a href="#a9055642c26c7814c7cee551686f73133">More...</a><br /></td></tr>
<tr class="separator:a9055642c26c7814c7cee551686f73133"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac071f8179603fecc38d69f8e89e88f34"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#ac071f8179603fecc38d69f8e89e88f34">addAsDefaultMode</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0">ArListPos::Pos</a> pos=<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a3c55111fa6c7f63c41fc0b387f5b57d9">ArListPos::LAST</a>)</td></tr>
<tr class="memdesc:ac071f8179603fecc38d69f8e89e88f34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets this mode to default (so if a mode deactivates it activates this)  <a href="#ac071f8179603fecc38d69f8e89e88f34">More...</a><br /></td></tr>
<tr class="separator:ac071f8179603fecc38d69f8e89e88f34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b3c5c9aeaf6b63c6e372cc544bab24c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a0b3c5c9aeaf6b63c6e372cc544bab24c">addDeactivateCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor, int position=50)</td></tr>
<tr class="memdesc:a0b3c5c9aeaf6b63c6e372cc544bab24c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a callback for when this class is deactivated.  <a href="#a0b3c5c9aeaf6b63c6e372cc544bab24c">More...</a><br /></td></tr>
<tr class="separator:a0b3c5c9aeaf6b63c6e372cc544bab24c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9acf27a776a00075387380f01d96822c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a9acf27a776a00075387380f01d96822c">addModeData</a> (const char *name, const char *description, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html">ArFunctor2</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; *functor, const char *argumentDescription, const char *returnDescription, const char *commandGroup=NULL, const char *dataFlags=NULL)</td></tr>
<tr class="memdesc:a9acf27a776a00075387380f01d96822c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This basically just notes the commands associated with a mode so that clients can know what can and can't happen based on what mode is active/locked/etc.  <a href="#a9acf27a776a00075387380f01d96822c">More...</a><br /></td></tr>
<tr class="separator:a9acf27a776a00075387380f01d96822c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adce5560f71d030e46eb2aca69028d7aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#adce5560f71d030e46eb2aca69028d7aa">addSingleShotDeactivateCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor, int position=50)</td></tr>
<tr class="memdesc:adce5560f71d030e46eb2aca69028d7aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a single shot callback for when this class is deactivated.  <a href="#adce5560f71d030e46eb2aca69028d7aa">More...</a><br /></td></tr>
<tr class="separator:adce5560f71d030e46eb2aca69028d7aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a630990922aa0d3db1b624d0f06005e25"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a630990922aa0d3db1b624d0f06005e25">addSingleShotPostDeactivateCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor, int position=50)</td></tr>
<tr class="memdesc:a630990922aa0d3db1b624d0f06005e25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a single shot callback for just after the deactivate happens (when the next mode has activated)  <a href="#a630990922aa0d3db1b624d0f06005e25">More...</a><br /></td></tr>
<tr class="separator:a630990922aa0d3db1b624d0f06005e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2244b7807bc65d8b21d6d1fc7aa48b30"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> *robot, <a class="el" href="classArServerBase.html">ArServerBase</a> *server, const char *name)</td></tr>
<tr class="memdesc:a2244b7807bc65d8b21d6d1fc7aa48b30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a2244b7807bc65d8b21d6d1fc7aa48b30">More...</a><br /></td></tr>
<tr class="separator:a2244b7807bc65d8b21d6d1fc7aa48b30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a014227585b6eb3d36dc3dc0763b9eb47"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a014227585b6eb3d36dc3dc0763b9eb47">checkDefault</a> (void)</td></tr>
<tr class="memdesc:a014227585b6eb3d36dc3dc0763b9eb47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sees if this wants to become the default mode.  <a href="#a014227585b6eb3d36dc3dc0763b9eb47">More...</a><br /></td></tr>
<tr class="separator:a014227585b6eb3d36dc3dc0763b9eb47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e38e919b51d105bd781f165a7e91679"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a3e38e919b51d105bd781f165a7e91679">deactivate</a> (void)=0</td></tr>
<tr class="memdesc:a3e38e919b51d105bd781f165a7e91679"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function called when the mode is deactivated.  <a href="#a3e38e919b51d105bd781f165a7e91679">More...</a><br /></td></tr>
<tr class="separator:a3e38e919b51d105bd781f165a7e91679"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14ebae2c8954290a9a24ae436d76cfcb"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a14ebae2c8954290a9a24ae436d76cfcb">forceUnlock</a> (void)</td></tr>
<tr class="memdesc:a14ebae2c8954290a9a24ae436d76cfcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This will be called if another mode has to break the lock.  <a href="#a14ebae2c8954290a9a24ae436d76cfcb">More...</a><br /></td></tr>
<tr class="separator:a14ebae2c8954290a9a24ae436d76cfcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83509005e2ee9ede7464fb5aa9e2fee6"><td class="memItemLeft" align="right" valign="top">virtual <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArActionGroup.html">ArActionGroup</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a83509005e2ee9ede7464fb5aa9e2fee6">getActionGroup</a> (void)</td></tr>
<tr class="memdesc:a83509005e2ee9ede7464fb5aa9e2fee6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function should return the action group this mode uses.  <a href="#a83509005e2ee9ede7464fb5aa9e2fee6">More...</a><br /></td></tr>
<tr class="separator:a83509005e2ee9ede7464fb5aa9e2fee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72957552e992a8a02f679ce15c46de3c"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a72957552e992a8a02f679ce15c46de3c">getActivityTime</a> (void)</td></tr>
<tr class="memdesc:a72957552e992a8a02f679ce15c46de3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the time of our last activity.  <a href="#a72957552e992a8a02f679ce15c46de3c">More...</a><br /></td></tr>
<tr class="separator:a72957552e992a8a02f679ce15c46de3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e66aee860aa207897d03aa1194428f2"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a6e66aee860aa207897d03aa1194428f2">getExtendedStatus</a> (void) const </td></tr>
<tr class="memdesc:a6e66aee860aa207897d03aa1194428f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a string representing the extended status of the mode we're in.  <a href="#a6e66aee860aa207897d03aa1194428f2">More...</a><br /></td></tr>
<tr class="separator:a6e66aee860aa207897d03aa1194428f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1958150b0f5e06d78b0a8e016c2b659b"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a1958150b0f5e06d78b0a8e016c2b659b">getMode</a> (void) const </td></tr>
<tr class="memdesc:a1958150b0f5e06d78b0a8e016c2b659b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a string representing the mode we're in.  <a href="#a1958150b0f5e06d78b0a8e016c2b659b">More...</a><br /></td></tr>
<tr class="separator:a1958150b0f5e06d78b0a8e016c2b659b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a323c4fba120c61e97e86672271f5af"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a1a323c4fba120c61e97e86672271f5af">getName</a> (void) const </td></tr>
<tr class="memdesc:a1a323c4fba120c61e97e86672271f5af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name of the mode we're in.  <a href="#a1a323c4fba120c61e97e86672271f5af">More...</a><br /></td></tr>
<tr class="separator:a1a323c4fba120c61e97e86672271f5af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79c34eb7c604eb4c292f45fb976ccaea"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a79c34eb7c604eb4c292f45fb976ccaea">getStatus</a> (void) const </td></tr>
<tr class="memdesc:a79c34eb7c604eb4c292f45fb976ccaea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a string representing the status of the mode we're in.  <a href="#a79c34eb7c604eb4c292f45fb976ccaea">More...</a><br /></td></tr>
<tr class="separator:a79c34eb7c604eb4c292f45fb976ccaea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a789e20814dce5a0b1662b9e812970b3a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a789e20814dce5a0b1662b9e812970b3a">hasSetActivityTime</a> (void)</td></tr>
<tr class="memdesc:a789e20814dce5a0b1662b9e812970b3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets if we've set our activity time.  <a href="#a789e20814dce5a0b1662b9e812970b3a">More...</a><br /></td></tr>
<tr class="separator:a789e20814dce5a0b1662b9e812970b3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f4c90ee6a9fe47abed59865f2a9ac78"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a0f4c90ee6a9fe47abed59865f2a9ac78">internalSetActivityTime</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a> time)</td></tr>
<tr class="memdesc:a0f4c90ee6a9fe47abed59865f2a9ac78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal call to set the activity time (this is dangerous and shouldn't be used)  <a href="#a0f4c90ee6a9fe47abed59865f2a9ac78">More...</a><br /></td></tr>
<tr class="separator:a0f4c90ee6a9fe47abed59865f2a9ac78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef0b2b6b2c15781ce4b9e9e9269817cb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#aef0b2b6b2c15781ce4b9e9e9269817cb">isActive</a> (void) const </td></tr>
<tr class="memdesc:aef0b2b6b2c15781ce4b9e9e9269817cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets if this mode is active or not.  <a href="#aef0b2b6b2c15781ce4b9e9e9269817cb">More...</a><br /></td></tr>
<tr class="separator:aef0b2b6b2c15781ce4b9e9e9269817cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61e811cdddb8eeca316f49615785f590"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a61e811cdddb8eeca316f49615785f590">isAutoResumeAfterInterrupt</a> ()</td></tr>
<tr class="memdesc:a61e811cdddb8eeca316f49615785f590"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds data to the list of this mode's commands.  <a href="#a61e811cdddb8eeca316f49615785f590">More...</a><br /></td></tr>
<tr class="separator:a61e811cdddb8eeca316f49615785f590"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c81f4374bca5c809fe74c3fdc204671"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a5c81f4374bca5c809fe74c3fdc204671">lockMode</a> (bool <a class="el" href="classArServerMode.html#ac146b5c1c295c1748807798c4aac4878">willUnlockIfRequested</a>=false)</td></tr>
<tr class="memdesc:a5c81f4374bca5c809fe74c3fdc204671"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks this mode in until its unlocked (mode must be the active mode)  <a href="#a5c81f4374bca5c809fe74c3fdc204671">More...</a><br /></td></tr>
<tr class="separator:a5c81f4374bca5c809fe74c3fdc204671"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7684042c77fa0c93a794417fa50a179"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#ae7684042c77fa0c93a794417fa50a179">remActivateCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor)</td></tr>
<tr class="memdesc:ae7684042c77fa0c93a794417fa50a179"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a callback for when this class is activated.  <a href="#ae7684042c77fa0c93a794417fa50a179">More...</a><br /></td></tr>
<tr class="separator:ae7684042c77fa0c93a794417fa50a179"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a414a561a1dc614dc5e2ab25a2981c77a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a414a561a1dc614dc5e2ab25a2981c77a">remDeactivateCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor)</td></tr>
<tr class="memdesc:a414a561a1dc614dc5e2ab25a2981c77a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a callback for when this class is deactivated.  <a href="#a414a561a1dc614dc5e2ab25a2981c77a">More...</a><br /></td></tr>
<tr class="separator:a414a561a1dc614dc5e2ab25a2981c77a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbf53ef90c389f4b1b652e05aae4c826"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#acbf53ef90c389f4b1b652e05aae4c826">remSingleShotDeactivateCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor)</td></tr>
<tr class="memdesc:acbf53ef90c389f4b1b652e05aae4c826"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a single shot callback for when this class is deactivated.  <a href="#acbf53ef90c389f4b1b652e05aae4c826">More...</a><br /></td></tr>
<tr class="separator:acbf53ef90c389f4b1b652e05aae4c826"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08ec815d73e0835e18446fc3444e2d5c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a08ec815d73e0835e18446fc3444e2d5c">remSingleShotPostDeactivateCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor)</td></tr>
<tr class="memdesc:a08ec815d73e0835e18446fc3444e2d5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a single shot callback for just after the deactivate happens (when the next mode has activated)  <a href="#a08ec815d73e0835e18446fc3444e2d5c">More...</a><br /></td></tr>
<tr class="separator:a08ec815d73e0835e18446fc3444e2d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5870d8eebdcb7d0ba50679b87ace7f05"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a5870d8eebdcb7d0ba50679b87ace7f05">requestUnlock</a> (void)</td></tr>
<tr class="memdesc:a5870d8eebdcb7d0ba50679b87ace7f05"><td class="mdescLeft">&#160;</td><td class="mdescRight">This will be called if another mode wants the lock broken (can ignore)  <a href="#a5870d8eebdcb7d0ba50679b87ace7f05">More...</a><br /></td></tr>
<tr class="separator:a5870d8eebdcb7d0ba50679b87ace7f05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa06c79717f2c05be4be1738e15a286ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#aa06c79717f2c05be4be1738e15a286ac">setActivityTimeToNow</a> (void)</td></tr>
<tr class="memdesc:aa06c79717f2c05be4be1738e15a286ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets that we're active right now.  <a href="#aa06c79717f2c05be4be1738e15a286ac">More...</a><br /></td></tr>
<tr class="separator:aa06c79717f2c05be4be1738e15a286ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af030881b4c33da7ad92a9c21d8ae23cd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#af030881b4c33da7ad92a9c21d8ae23cd">setMode</a> (const char *str)</td></tr>
<tr class="memdesc:af030881b4c33da7ad92a9c21d8ae23cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This should only be used by careful people and probably not then.  <a href="#af030881b4c33da7ad92a9c21d8ae23cd">More...</a><br /></td></tr>
<tr class="separator:af030881b4c33da7ad92a9c21d8ae23cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ccc40a4a377d006dc4ab77e0841ee8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a3ccc40a4a377d006dc4ab77e0841ee8b">setStatus</a> (const char *str)</td></tr>
<tr class="memdesc:a3ccc40a4a377d006dc4ab77e0841ee8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This should only be used by careful people and probably not then.  <a href="#a3ccc40a4a377d006dc4ab77e0841ee8b">More...</a><br /></td></tr>
<tr class="separator:a3ccc40a4a377d006dc4ab77e0841ee8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a746568cbafdc300088c404234fc18973"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode</a> (void)</td></tr>
<tr class="memdesc:a746568cbafdc300088c404234fc18973"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlocks the mode so other modes can activate.  <a href="#a746568cbafdc300088c404234fc18973">More...</a><br /></td></tr>
<tr class="separator:a746568cbafdc300088c404234fc18973"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f82c754ecd65d0f495920555d51cca9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a4f82c754ecd65d0f495920555d51cca9">userTask</a> (void)</td></tr>
<tr class="memdesc:a4f82c754ecd65d0f495920555d51cca9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMode.html">ArMode</a>'s user task, don't need one, subclass must provide if needed.  <a href="#a4f82c754ecd65d0f495920555d51cca9">More...</a><br /></td></tr>
<tr class="separator:a4f82c754ecd65d0f495920555d51cca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a5e11075081f6a0dd561d6a14f8b0f4"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a8a5e11075081f6a0dd561d6a14f8b0f4">~ArServerMode</a> ()</td></tr>
<tr class="memdesc:a8a5e11075081f6a0dd561d6a14f8b0f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a8a5e11075081f6a0dd561d6a14f8b0f4">More...</a><br /></td></tr>
<tr class="separator:a8a5e11075081f6a0dd561d6a14f8b0f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a3d12ee9d79a46c35b3af45223b771e3f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArServerMode.html">ArServerMode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a3d12ee9d79a46c35b3af45223b771e3f">getActiveMode</a> (void)</td></tr>
<tr class="memdesc:a3d12ee9d79a46c35b3af45223b771e3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the active mode.  <a href="#a3d12ee9d79a46c35b3af45223b771e3f">More...</a><br /></td></tr>
<tr class="separator:a3d12ee9d79a46c35b3af45223b771e3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7b38792e1c67ba86b86dbe23be05763"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#af7b38792e1c67ba86b86dbe23be05763">getActiveModeActivityTimeSecSince</a> (void)</td></tr>
<tr class="memdesc:af7b38792e1c67ba86b86dbe23be05763"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the seconds since the activity of our active mode.  <a href="#af7b38792e1c67ba86b86dbe23be05763">More...</a><br /></td></tr>
<tr class="separator:af7b38792e1c67ba86b86dbe23be05763"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ab05a0554d8b418af6c53812278577c"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a5ab05a0554d8b418af6c53812278577c">getActiveModeExtendedStatusString</a> (void)</td></tr>
<tr class="memdesc:a5ab05a0554d8b418af6c53812278577c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the active extended status string.  <a href="#a5ab05a0554d8b418af6c53812278577c">More...</a><br /></td></tr>
<tr class="separator:a5ab05a0554d8b418af6c53812278577c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85b865d2651047bedfaddcf5771d0721"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a85b865d2651047bedfaddcf5771d0721">getActiveModeModeString</a> (void)</td></tr>
<tr class="memdesc:a85b865d2651047bedfaddcf5771d0721"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the active mode string.  <a href="#a85b865d2651047bedfaddcf5771d0721">More...</a><br /></td></tr>
<tr class="separator:a85b865d2651047bedfaddcf5771d0721"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad916f018e9bf69303f495d2aa28afd85"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#ad916f018e9bf69303f495d2aa28afd85">getActiveModeSetActivityThisCycle</a> (void)</td></tr>
<tr class="memdesc:ad916f018e9bf69303f495d2aa28afd85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets if the active mode set the activity time this cycle or not.  <a href="#ad916f018e9bf69303f495d2aa28afd85">More...</a><br /></td></tr>
<tr class="separator:ad916f018e9bf69303f495d2aa28afd85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18c24eabbec199ba6f0311f5cb80cd2f"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a18c24eabbec199ba6f0311f5cb80cd2f">getActiveModeStatusString</a> (void)</td></tr>
<tr class="memdesc:a18c24eabbec199ba6f0311f5cb80cd2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the active status string.  <a href="#a18c24eabbec199ba6f0311f5cb80cd2f">More...</a><br /></td></tr>
<tr class="separator:a18c24eabbec199ba6f0311f5cb80cd2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62adbda73b582fcbb56c2ecdaf6ff52f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArServerModeIdle.html">ArServerModeIdle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a62adbda73b582fcbb56c2ecdaf6ff52f">getIdleMode</a> (void)</td></tr>
<tr class="memdesc:a62adbda73b582fcbb56c2ecdaf6ff52f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call that gets our idle mode.  <a href="#a62adbda73b582fcbb56c2ecdaf6ff52f">More...</a><br /></td></tr>
<tr class="separator:a62adbda73b582fcbb56c2ecdaf6ff52f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af778e02b6962d25b53489a568b851d8e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#af778e02b6962d25b53489a568b851d8e">getModeBusy</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:af778e02b6962d25b53489a568b851d8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the packet request for the mode busy state.  <a href="#af778e02b6962d25b53489a568b851d8e">More...</a><br /></td></tr>
<tr class="separator:af778e02b6962d25b53489a568b851d8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8190970059f9c792a223abcb6e082a78"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a8190970059f9c792a223abcb6e082a78">getModeDataList</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a8190970059f9c792a223abcb6e082a78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the list of data for each mode.  <a href="#a8190970059f9c792a223abcb6e082a78">More...</a><br /></td></tr>
<tr class="separator:a8190970059f9c792a223abcb6e082a78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a282706c010844b2d3923b0ec0ac4b802"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a282706c010844b2d3923b0ec0ac4b802">getModeInfo</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a282706c010844b2d3923b0ec0ac4b802"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the info about which mode is active and such.  <a href="#a282706c010844b2d3923b0ec0ac4b802">More...</a><br /></td></tr>
<tr class="separator:a282706c010844b2d3923b0ec0ac4b802"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5759f053d1e95063917373035728f667"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a5759f053d1e95063917373035728f667">isLocked</a> (void)</td></tr>
<tr class="memdesc:a5759f053d1e95063917373035728f667"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets if the active mode is locked or not.  <a href="#a5759f053d1e95063917373035728f667">More...</a><br /></td></tr>
<tr class="separator:a5759f053d1e95063917373035728f667"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac146b5c1c295c1748807798c4aac4878"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#ac146b5c1c295c1748807798c4aac4878">willUnlockIfRequested</a> (void)</td></tr>
<tr class="memdesc:ac146b5c1c295c1748807798c4aac4878"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets whether we'll unlock if requested or not.  <a href="#ac146b5c1c295c1748807798c4aac4878">More...</a><br /></td></tr>
<tr class="separator:ac146b5c1c295c1748807798c4aac4878"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:af5a8feef05fb30934ccd3ca603356ed4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate</a> (bool canSelfActivateIfLocked=false)</td></tr>
<tr class="memdesc:af5a8feef05fb30934ccd3ca603356ed4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activates this mode if it can (returns true if it can, false otherwise).  <a href="#af5a8feef05fb30934ccd3ca603356ed4">More...</a><br /></td></tr>
<tr class="separator:af5a8feef05fb30934ccd3ca603356ed4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b36a9994a87a9446a7897c80c640e14"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate</a> (void)</td></tr>
<tr class="memdesc:a9b36a9994a87a9446a7897c80c640e14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deactivates this mode.  <a href="#a9b36a9994a87a9446a7897c80c640e14">More...</a><br /></td></tr>
<tr class="separator:a9b36a9994a87a9446a7897c80c640e14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeccf06f0f128f489f56cd07b966ac2b4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#aeccf06f0f128f489f56cd07b966ac2b4">checkBroadcastModeInfoPacket</a> (void)</td></tr>
<tr class="separator:aeccf06f0f128f489f56cd07b966ac2b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd94f60638f8c31941fb4002ad0d5185"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerMode.html">ArServerMode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#afd94f60638f8c31941fb4002ad0d5185">getLastActiveMode</a> ()</td></tr>
<tr class="separator:afd94f60638f8c31941fb4002ad0d5185"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:a76e39322bbaf7429fece462b3245bea9"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a76e39322bbaf7429fece462b3245bea9">buildModeInfoPacket</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="separator:a76e39322bbaf7429fece462b3245bea9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25746e810a80c943a0b8f955e4a085f4"><td class="memItemLeft" align="right" valign="top">static std::list&lt; <a class="el" href="classArServerMode.html">ArServerMode</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a25746e810a80c943a0b8f955e4a085f4">getRequestedActivateModes</a> (void)</td></tr>
<tr class="separator:a25746e810a80c943a0b8f955e4a085f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5701ebb7e5a76845fee0be277c40c13e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a5701ebb7e5a76845fee0be277c40c13e">modeUserTask</a> (void)</td></tr>
<tr class="separator:a5701ebb7e5a76845fee0be277c40c13e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ab3cfe4fcad1830d1cd739348b97ec6be"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCallbackList.html">ArCallbackList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#ab3cfe4fcad1830d1cd739348b97ec6be">myActivateCallbacks</a></td></tr>
<tr class="separator:ab3cfe4fcad1830d1cd739348b97ec6be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7600d662ad8ed4d258f8a65d0c1bbeed"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a7600d662ad8ed4d258f8a65d0c1bbeed">myActivityTime</a></td></tr>
<tr class="separator:a7600d662ad8ed4d258f8a65d0c1bbeed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0a5cd17d137c15bf671f8c5f708047f"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#af0a5cd17d137c15bf671f8c5f708047f">myActivityTimeMutex</a></td></tr>
<tr class="separator:af0a5cd17d137c15bf671f8c5f708047f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2e2e158a5421b7ddabd9b29c7eaa729"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCallbackList.html">ArCallbackList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#aa2e2e158a5421b7ddabd9b29c7eaa729">myDeactivateCallbacks</a></td></tr>
<tr class="separator:aa2e2e158a5421b7ddabd9b29c7eaa729"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca9e0fdb6fb3ca81f80387c40cc5cc59"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#aca9e0fdb6fb3ca81f80387c40cc5cc59">myExtendedStatus</a></td></tr>
<tr class="separator:aca9e0fdb6fb3ca81f80387c40cc5cc59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dda759f1f11f14a403784ce31e0edaf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a1dda759f1f11f14a403784ce31e0edaf">myHasSetActivityTime</a></td></tr>
<tr class="separator:a1dda759f1f11f14a403784ce31e0edaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0a97bcc83e1d13b3f09e1f3b9dc5613"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#ae0a97bcc83e1d13b3f09e1f3b9dc5613">myIsActive</a></td></tr>
<tr class="separator:ae0a97bcc83e1d13b3f09e1f3b9dc5613"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4041998b9de0e5a4b9696b5b386e94b1"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a4041998b9de0e5a4b9696b5b386e94b1">myMode</a></td></tr>
<tr class="separator:a4041998b9de0e5a4b9696b5b386e94b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49565b6ee2a61ebd916565bc944d9d44"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a49565b6ee2a61ebd916565bc944d9d44">myName</a></td></tr>
<tr class="separator:a49565b6ee2a61ebd916565bc944d9d44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae437152464cfb29e87ce7fa6c3500416"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#ae437152464cfb29e87ce7fa6c3500416">myRobot</a></td></tr>
<tr class="separator:ae437152464cfb29e87ce7fa6c3500416"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9b2f709812b30d3baa0715e06972ed1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerBase.html">ArServerBase</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#aa9b2f709812b30d3baa0715e06972ed1">myServer</a></td></tr>
<tr class="separator:aa9b2f709812b30d3baa0715e06972ed1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbd1f1899687d626098ef8ccd976e180"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#abbd1f1899687d626098ef8ccd976e180">mySetActivityThisCycle</a></td></tr>
<tr class="separator:abbd1f1899687d626098ef8ccd976e180"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a962670b48e5e976e6db615d2ed2a182f"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCallbackList.html">ArCallbackList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a962670b48e5e976e6db615d2ed2a182f">mySingleShotDeactivateCallbacks</a></td></tr>
<tr class="separator:a962670b48e5e976e6db615d2ed2a182f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c54b1999a387825eeb937e12ea32ab6"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCallbackList.html">ArCallbackList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a4c54b1999a387825eeb937e12ea32ab6">mySingleShotPostDeactivateCallbacks</a></td></tr>
<tr class="separator:a4c54b1999a387825eeb937e12ea32ab6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa94143f88b10591b5f80c63d5a6797f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#afa94143f88b10591b5f80c63d5a6797f">myStatus</a></td></tr>
<tr class="separator:afa94143f88b10591b5f80c63d5a6797f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63534616025bba5c532b5b3e385d2e4a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a63534616025bba5c532b5b3e385d2e4a">myStatusSetThisCycle</a></td></tr>
<tr class="separator:a63534616025bba5c532b5b3e385d2e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adca90d0d23c68ee14dc62095c3d6c336"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#adca90d0d23c68ee14dc62095c3d6c336">myVerboseLogLevel</a></td></tr>
<tr class="separator:adca90d0d23c68ee14dc62095c3d6c336"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-attribs"></a>
Static Protected Attributes</h2></td></tr>
<tr class="memitem:aba9a279d8ee8713c3a729bebf4c04b19"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArServerMode.html">ArServerMode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a> = NULL</td></tr>
<tr class="separator:aba9a279d8ee8713c3a729bebf4c04b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29396b0b1f3879af968f50fb0edc9fe4"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a29396b0b1f3879af968f50fb0edc9fe4">ourActiveModeLocked</a> = false</td></tr>
<tr class="separator:a29396b0b1f3879af968f50fb0edc9fe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32ee20e608421d5246c595a388eaa4b5"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a32ee20e608421d5246c595a388eaa4b5">ourActiveModeSetActivityThisCycle</a> = false</td></tr>
<tr class="separator:a32ee20e608421d5246c595a388eaa4b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68e83ec188c8902d1d8e8ac9c5f6d1b6"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a68e83ec188c8902d1d8e8ac9c5f6d1b6">ourActiveModeWillUnlockIfRequested</a> = false</td></tr>
<tr class="separator:a68e83ec188c8902d1d8e8ac9c5f6d1b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fdf8b2a83b3ef3cd0aa0acb46ffdcdf"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArServerMode.html">ArServerMode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a1fdf8b2a83b3ef3cd0aa0acb46ffdcdf">ourBroadcastActiveMode</a> = NULL</td></tr>
<tr class="separator:a1fdf8b2a83b3ef3cd0aa0acb46ffdcdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab571f12a0878959d134ee2bc214d816a"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#ab571f12a0878959d134ee2bc214d816a">ourBroadcastActiveModeLocked</a> = false</td></tr>
<tr class="separator:ab571f12a0878959d134ee2bc214d816a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a525e08c21cc9f8941e9dac299f631997"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a525e08c21cc9f8941e9dac299f631997">ourBroadcastActiveModeWillUnlockIfRequested</a> = false</td></tr>
<tr class="separator:a525e08c21cc9f8941e9dac299f631997"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cd6a6ab0d0159f008a59f85d97a213d"><td class="memItemLeft" align="right" valign="top">static std::list&lt; <a class="el" href="classArServerMode.html">ArServerMode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a1cd6a6ab0d0159f008a59f85d97a213d">ourDefaultModes</a></td></tr>
<tr class="separator:a1cd6a6ab0d0159f008a59f85d97a213d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68762e76a0771a993f80c2dd3ad36827"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGlobalFunctor2.html">ArGlobalFunctor2</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a68762e76a0771a993f80c2dd3ad36827">ourGetModeBusyCB</a></td></tr>
<tr class="separator:a68762e76a0771a993f80c2dd3ad36827"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6187581ea0bd2b84a94f8b73fc4669fb"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGlobalFunctor2.html">ArGlobalFunctor2</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a6187581ea0bd2b84a94f8b73fc4669fb">ourGetModeDataListCB</a></td></tr>
<tr class="separator:a6187581ea0bd2b84a94f8b73fc4669fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a337373063bac19e1c46d5f72caed64de"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGlobalFunctor2.html">ArGlobalFunctor2</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a337373063bac19e1c46d5f72caed64de">ourGetModeInfoCB</a></td></tr>
<tr class="separator:a337373063bac19e1c46d5f72caed64de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e3ab7fc3bce2ef1d0cb849c3563a122"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArServerModeIdle.html">ArServerModeIdle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a9e3ab7fc3bce2ef1d0cb849c3563a122">ourIdleMode</a> = NULL</td></tr>
<tr class="separator:a9e3ab7fc3bce2ef1d0cb849c3563a122"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4163f344f000fd6991ba2b38390f06a"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#ac4163f344f000fd6991ba2b38390f06a">ourIdleModeCreated</a> = false</td></tr>
<tr class="separator:ac4163f344f000fd6991ba2b38390f06a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dcd3b6ac6729d2b31d95f5e1bc1781b"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a7dcd3b6ac6729d2b31d95f5e1bc1781b">ourIdleModeMutex</a></td></tr>
<tr class="separator:a7dcd3b6ac6729d2b31d95f5e1bc1781b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87dbecb73ca88e29816c93c45089d710"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a87dbecb73ca88e29816c93c45089d710">ourIsBusy</a> = false</td></tr>
<tr class="separator:a87dbecb73ca88e29816c93c45089d710"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37b5871079b35f4e03f5ae42ff9099db"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArServerMode.html">ArServerMode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a37b5871079b35f4e03f5ae42ff9099db">ourLastActiveMode</a> = NULL</td></tr>
<tr class="separator:a37b5871079b35f4e03f5ae42ff9099db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a181e8411133da147fcf5e49b3aa54b75"><td class="memItemLeft" align="right" valign="top">static std::multimap&lt; std::string, std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a181e8411133da147fcf5e49b3aa54b75">ourModeDataMap</a></td></tr>
<tr class="separator:a181e8411133da147fcf5e49b3aa54b75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa2626f90d550bb3bcb0652b11c2c101"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#afa2626f90d550bb3bcb0652b11c2c101">ourModeDataMapMutex</a></td></tr>
<tr class="separator:afa2626f90d550bb3bcb0652b11c2c101"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85e8f155bd5564e5876c05cfe45bf594"><td class="memItemLeft" align="right" valign="top">static std::list&lt; <a class="el" href="classArServerMode.html">ArServerMode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a85e8f155bd5564e5876c05cfe45bf594">ourModes</a></td></tr>
<tr class="separator:a85e8f155bd5564e5876c05cfe45bf594"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a600992a4fddda1410dbc275886dfe3bb"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArServerMode.html">ArServerMode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a600992a4fddda1410dbc275886dfe3bb">ourNextActiveMode</a> = NULL</td></tr>
<tr class="separator:a600992a4fddda1410dbc275886dfe3bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14c37dde86119df95e719051a6f35b05"><td class="memItemLeft" align="right" valign="top">static std::list&lt; <a class="el" href="classArServerMode.html">ArServerMode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a14c37dde86119df95e719051a6f35b05">ourRequestedActivateModes</a></td></tr>
<tr class="separator:a14c37dde86119df95e719051a6f35b05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89d8016220a4304344c3b5d460b6ae0b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArServerBase.html">ArServerBase</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a89d8016220a4304344c3b5d460b6ae0b">ourServerBase</a> = NULL</td></tr>
<tr class="separator:a89d8016220a4304344c3b5d460b6ae0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1991e7c90fb5a279ade61870495e9f78"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a1991e7c90fb5a279ade61870495e9f78">ourUserTaskAdded</a> = false</td></tr>
<tr class="separator:a1991e7c90fb5a279ade61870495e9f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a159712d2003b1dd822787df6bc49b5ce"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGlobalFunctor.html">ArGlobalFunctor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerMode.html#a159712d2003b1dd822787df6bc49b5ce">ourUserTaskCB</a></td></tr>
<tr class="separator:a159712d2003b1dd822787df6bc49b5ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A mode for controlling the robot (only one active) </p>
<p>This is a lot like <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMode.html">ArMode</a> but for net control instead...</p>
<p>Only one mode can control the robot at once, this is made to be subclassed. Each subclass needs to implement activate and deactivate, activate MUST call baseActivate and if baseActivate returns false then the mode is NOT active and shouldn't do anything. Further each class should set myMode and myStatus to the mode its in and the things its doing... You can lock your mode in with lockMode and unlock it with unlockMode but you should redefine the inherited requestUnlock and unlock yourself and deactivate gracefully.</p>
<p>If you want to implement a server mode as a default mode then you also need to implement checkDefault which will be called when nothing else is active</p>
<p>Note that there's a new mechanism in place where if you use addModeData instead of addData on the <a class="el" href="classArServerBase.html" title="Base server for all networking services. ">ArServerBase</a> the command will be placed into a map of available modes with commands that can be gotten by the client. The active mode and whether its locked and will unlock and such can now be gotten too... this is all so that different commands can be disabled in client GUIs when they aren't available. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a2244b7807bc65d8b21d6d1fc7aa48b30"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArServerMode::ArServerMode </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> *&#160;</td>
          <td class="paramname"><em>robot</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArServerBase.html">ArServerBase</a> *&#160;</td>
          <td class="paramname"><em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>

<p>References <a class="el" href="classArServerBase.html#a2df604c980c35140f69d35362a3403f2">ArServerBase::addData()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a50070f4e19b91aaac20772d15d9ad805">ArRobot::addUserTask()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerMode.html#ab3cfe4fcad1830d1cd739348b97ec6be">myActivateCallbacks</a>, <a class="el" href="classArServerMode.html#af0a5cd17d137c15bf671f8c5f708047f">myActivityTimeMutex</a>, <a class="el" href="classArServerMode.html#aa2e2e158a5421b7ddabd9b29c7eaa729">myDeactivateCallbacks</a>, <a class="el" href="classArServerMode.html#a1dda759f1f11f14a403784ce31e0edaf">myHasSetActivityTime</a>, <a class="el" href="classArServerMode.html#ae0a97bcc83e1d13b3f09e1f3b9dc5613">myIsActive</a>, <a class="el" href="classArServerMode.html#a49565b6ee2a61ebd916565bc944d9d44">myName</a>, <a class="el" href="classArServerMode.html#ae437152464cfb29e87ce7fa6c3500416">myRobot</a>, <a class="el" href="classArServerMode.html#aa9b2f709812b30d3baa0715e06972ed1">myServer</a>, <a class="el" href="classArServerMode.html#abbd1f1899687d626098ef8ccd976e180">mySetActivityThisCycle</a>, <a class="el" href="classArServerMode.html#a962670b48e5e976e6db615d2ed2a182f">mySingleShotDeactivateCallbacks</a>, <a class="el" href="classArServerMode.html#a4c54b1999a387825eeb937e12ea32ab6">mySingleShotPostDeactivateCallbacks</a>, <a class="el" href="classArServerMode.html#a63534616025bba5c532b5b3e385d2e4a">myStatusSetThisCycle</a>, <a class="el" href="classArServerMode.html#adca90d0d23c68ee14dc62095c3d6c336">myVerboseLogLevel</a>, <a class="el" href="classArServerMode.html#a68762e76a0771a993f80c2dd3ad36827">ourGetModeBusyCB</a>, <a class="el" href="classArServerMode.html#a6187581ea0bd2b84a94f8b73fc4669fb">ourGetModeDataListCB</a>, <a class="el" href="classArServerMode.html#a337373063bac19e1c46d5f72caed64de">ourGetModeInfoCB</a>, <a class="el" href="classArServerMode.html#a9e3ab7fc3bce2ef1d0cb849c3563a122">ourIdleMode</a>, <a class="el" href="classArServerMode.html#ac4163f344f000fd6991ba2b38390f06a">ourIdleModeCreated</a>, <a class="el" href="classArServerMode.html#a7dcd3b6ac6729d2b31d95f5e1bc1781b">ourIdleModeMutex</a>, <a class="el" href="classArServerMode.html#afa2626f90d550bb3bcb0652b11c2c101">ourModeDataMapMutex</a>, <a class="el" href="classArServerMode.html#a85e8f155bd5564e5876c05cfe45bf594">ourModes</a>, <a class="el" href="classArServerMode.html#a89d8016220a4304344c3b5d460b6ae0b">ourServerBase</a>, <a class="el" href="classArServerMode.html#a1991e7c90fb5a279ade61870495e9f78">ourUserTaskAdded</a>, <a class="el" href="classArServerMode.html#a159712d2003b1dd822787df6bc49b5ce">ourUserTaskCB</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a00069ede1325b6f9f500ef2636858262">ArMutex::setLogName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGenericCallbackList.html#a036816043aa91332e56f2fc65ff17c04">ArGenericCallbackList&lt; ArFunctor * &gt;::setName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGenericCallbackList.html#a3253cd034a7b92f5288b583f31631de3">ArGenericCallbackList&lt; ArFunctor * &gt;::setSingleShot()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

</div>
</div>
<a class="anchor" id="a8a5e11075081f6a0dd561d6a14f8b0f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ArServerMode::~ArServerMode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a092c6d2981123554324e7697658c6814"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ArServerMode::activate </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The function called when the mode is activated. </p>
<p>Subclasses must implement this, but also call <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4" title="Activates this mode if it can (returns true if it can, false otherwise). ">baseActivate()</a>.- </p>

<p>Implemented in <a class="el" href="classArServerModeJogPosition.html#a6157251fc3b3ca735af747c84ee3a235">ArServerModeJogPosition</a>, <a class="el" href="classArServerModeRatioDrive.html#a298f2f1daf9d24292d4885a3ac44f934">ArServerModeRatioDrive</a>, <a class="el" href="classArServerModeIdle.html#a84867b663457084418b188714cee227f">ArServerModeIdle</a>, <a class="el" href="classArServerModeDrive.html#a9cbdf5a641f5104864812e0a81588fb8">ArServerModeDrive</a>, <a class="el" href="classArServerModeWander.html#a6c77fb01f8cc4f5fc1cfe5d49a858310">ArServerModeWander</a>, and <a class="el" href="classArServerModeStop.html#a701b1ae94cfda807e9f3d6c51a9fc53f">ArServerModeStop</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a83509005e2ee9ede7464fb5aa9e2fee6">getActionGroup()</a>, and <a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a3e6c97caab6953a5886e10ea8a80c9c6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ArServerMode::activationDenied </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The function called if the mode is not activated because another mode superceded it. </p>

<p>Referenced by <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>.</p>

</div>
</div>
<a class="anchor" id="a9055642c26c7814c7cee551686f73133"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::addActivateCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>position</em> = <code>50</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a callback for when this class is activated. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGenericCallbackList.html#abba0eadb150d38831460a8ec536b5284">ArGenericCallbackList&lt; ArFunctor * &gt;::addCallback()</a>, and <a class="el" href="classArServerMode.html#ab3cfe4fcad1830d1cd739348b97ec6be">myActivateCallbacks</a>.</p>

</div>
</div>
<a class="anchor" id="ac071f8179603fecc38d69f8e89e88f34"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::addAsDefaultMode </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0">ArListPos::Pos</a>&#160;</td>
          <td class="paramname"><em>pos</em> = <code><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a3c55111fa6c7f63c41fc0b387f5b57d9">ArListPos::LAST</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets this mode to default (so if a mode deactivates it activates this) </p>
<p>The default mode is activated whenever a mode is deactivated, even if a mode is deactivated only for another mode to be activated. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="popupExample_8cpp-example.html#a42">popupExample.cpp</a>, and <a class="el" href="serverDemo_8cpp-example.html#a35">serverDemo.cpp</a>.</dd>
</dl>
<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a7573a55fbcdb54b1768e9ce574407d15">ArListPos::FIRST</a>, <a class="el" href="classArServerMode.html#a1a323c4fba120c61e97e86672271f5af">getName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a3c55111fa6c7f63c41fc0b387f5b57d9">ArListPos::LAST</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArServerMode.html#a1cd6a6ab0d0159f008a59f85d97a213d">ourDefaultModes</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a789e20814dce5a0b1662b9e812970b3a">hasSetActivityTime()</a>, and <a class="el" href="drawingsExampleWithRobot_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a0b3c5c9aeaf6b63c6e372cc544bab24c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::addDeactivateCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>position</em> = <code>50</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a callback for when this class is deactivated. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGenericCallbackList.html#abba0eadb150d38831460a8ec536b5284">ArGenericCallbackList&lt; ArFunctor * &gt;::addCallback()</a>, and <a class="el" href="classArServerMode.html#aa2e2e158a5421b7ddabd9b29c7eaa729">myDeactivateCallbacks</a>.</p>

</div>
</div>
<a class="anchor" id="a9acf27a776a00075387380f01d96822c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::addModeData </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>description</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html">ArFunctor2</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>argumentDescription</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>returnDescription</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>commandGroup</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dataFlags</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This basically just notes the commands associated with a mode so that clients can know what can and can't happen based on what mode is active/locked/etc. </p>
<p>You should call it only if the addData on the <a class="el" href="classArServerBase.html" title="Base server for all networking services. ">ArServerBase</a> returns true (since otherwise it means that command wasn't added). </p>

<p>References <a class="el" href="classArServerBase.html#a2df604c980c35140f69d35362a3403f2">ArServerBase::addData()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerMode.html#a49565b6ee2a61ebd916565bc944d9d44">myName</a>, <a class="el" href="classArServerMode.html#aa9b2f709812b30d3baa0715e06972ed1">myServer</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArServerMode.html#a181e8411133da147fcf5e49b3aa54b75">ourModeDataMap</a>, <a class="el" href="classArServerMode.html#afa2626f90d550bb3bcb0652b11c2c101">ourModeDataMapMutex</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerModeDrive.html#ab597ca947ca6d711a7694e49b00a3d37">ArServerModeDrive::ArServerModeDrive()</a>, <a class="el" href="classArServerModeJogPosition.html#a154ee4fbdf5629e5df295c8a9bd7e4d2">ArServerModeJogPosition::ArServerModeJogPosition()</a>, <a class="el" href="classArServerModeRatioDrive.html#a084495b3b4b72574b0fa7f4f44ad3c4e">ArServerModeRatioDrive::ArServerModeRatioDrive()</a>, <a class="el" href="classArServerModeStop.html#ac826511854107514c4c0fd8c0eafc1b0">ArServerModeStop::ArServerModeStop()</a>, <a class="el" href="classArServerModeWander.html#a055eb3dd20abc6cb3a66fce71668e53f">ArServerModeWander::ArServerModeWander()</a>, and <a class="el" href="classArServerMode.html#a3ccc40a4a377d006dc4ab77e0841ee8b">setStatus()</a>.</p>

</div>
</div>
<a class="anchor" id="adce5560f71d030e46eb2aca69028d7aa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::addSingleShotDeactivateCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>position</em> = <code>50</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a single shot callback for when this class is deactivated. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGenericCallbackList.html#abba0eadb150d38831460a8ec536b5284">ArGenericCallbackList&lt; ArFunctor * &gt;::addCallback()</a>, and <a class="el" href="classArServerMode.html#a962670b48e5e976e6db615d2ed2a182f">mySingleShotDeactivateCallbacks</a>.</p>

</div>
</div>
<a class="anchor" id="a630990922aa0d3db1b624d0f06005e25"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::addSingleShotPostDeactivateCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>position</em> = <code>50</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a single shot callback for just after the deactivate happens (when the next mode has activated) </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGenericCallbackList.html#abba0eadb150d38831460a8ec536b5284">ArGenericCallbackList&lt; ArFunctor * &gt;::addCallback()</a>, and <a class="el" href="classArServerMode.html#a4c54b1999a387825eeb937e12ea32ab6">mySingleShotPostDeactivateCallbacks</a>.</p>

</div>
</div>
<a class="anchor" id="af5a8feef05fb30934ccd3ca603356ed4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::baseActivate </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>canSelfActivateIfLocked</em> = <code>false</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Activates this mode if it can (returns true if it can, false otherwise). </p>
<p>Makes this mode active if it can...</p>
<p>If we have an <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> instance (myRobot), then robot motion is stopped. Activity time is reset, and activate callbacks are called.</p>
<p>If this returns false then the mode's <a class="el" href="classArServerMode.html#a092c6d2981123554324e7697658c6814" title="The function called when the mode is activated. ">activate()</a> method should just return... Note that before calling this a mode should have already made sure it can activate... This also calls the activate callbacks (only if the mode will be allowed to activate of course).</p>
<p>IMPORTANT: This method must only be called within the context of the <a class="el" href="classArServerMode.html#a092c6d2981123554324e7697658c6814" title="The function called when the mode is activated. ">activate()</a> method. </p>
<p>Call our activate callbacks</p>
<p>Set the activity time to now, but do NOT set the flag, since that flag is used to determine if a particular mode has used it or not </p>

<p>References <a class="el" href="classArServerModeIdle.html#a84867b663457084418b188714cee227f">ArServerModeIdle::activate()</a>, <a class="el" href="classArServerMode.html#aeccf06f0f128f489f56cd07b966ac2b4">checkBroadcastModeInfoPacket()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5b1b947ef2e28d171f023b1bbe5d02a9">ArRobot::clearDirectMotion()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#a7ec7c56af3e62905f74194492bfef213">ArUtil::convertBool()</a>, <a class="el" href="classArServerMode.html#a3e38e919b51d105bd781f165a7e91679">deactivate()</a>, <a class="el" href="classArServerMode.html#a1a323c4fba120c61e97e86672271f5af">getName()</a>, <a class="el" href="classArServerBase.html#a7d9a02741090f79facba801f4aed8856">ArServerBase::idleProcessingPending()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCallbackList.html#a47c8a5851b89254713ac5297cf539754">ArCallbackList::invoke()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerMode.html#ab3cfe4fcad1830d1cd739348b97ec6be">myActivateCallbacks</a>, <a class="el" href="classArServerMode.html#a7600d662ad8ed4d258f8a65d0c1bbeed">myActivityTime</a>, <a class="el" href="classArServerMode.html#af0a5cd17d137c15bf671f8c5f708047f">myActivityTimeMutex</a>, <a class="el" href="classArServerMode.html#ae0a97bcc83e1d13b3f09e1f3b9dc5613">myIsActive</a>, <a class="el" href="classArServerMode.html#ae437152464cfb29e87ce7fa6c3500416">myRobot</a>, <a class="el" href="classArServerMode.html#aa9b2f709812b30d3baa0715e06972ed1">myServer</a>, <a class="el" href="classArServerMode.html#adca90d0d23c68ee14dc62095c3d6c336">myVerboseLogLevel</a>, <a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a>, <a class="el" href="classArServerMode.html#a29396b0b1f3879af968f50fb0edc9fe4">ourActiveModeLocked</a>, <a class="el" href="classArServerMode.html#a9e3ab7fc3bce2ef1d0cb849c3563a122">ourIdleMode</a>, <a class="el" href="classArServerMode.html#a37b5871079b35f4e03f5ae42ff9099db">ourLastActiveMode</a>, <a class="el" href="classArServerMode.html#a600992a4fddda1410dbc275886dfe3bb">ourNextActiveMode</a>, <a class="el" href="classArServerMode.html#a14c37dde86119df95e719051a6f35b05">ourRequestedActivateModes</a>, <a class="el" href="classArServerMode.html#a5870d8eebdcb7d0ba50679b87ace7f05">requestUnlock()</a>, <a class="el" href="classArServerModeIdle.html#a285695bf9403307f9aa8d9bbb4a1a98b">ArServerModeIdle::setModeInterrupted()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga7c269e161c8e7cb56bde73dea501a619">ArTime::setToNow()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gac354fe63f9e58b33343f38923f1588fd">ArRobot::stop()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerModeStop.html#a701b1ae94cfda807e9f3d6c51a9fc53f">ArServerModeStop::activate()</a>, <a class="el" href="classArServerModeWander.html#a6c77fb01f8cc4f5fc1cfe5d49a858310">ArServerModeWander::activate()</a>, <a class="el" href="classArServerModeIdle.html#a84867b663457084418b188714cee227f">ArServerModeIdle::activate()</a>, <a class="el" href="classArServerModeJogPosition.html#a6157251fc3b3ca735af747c84ee3a235">ArServerModeJogPosition::activate()</a>, <a class="el" href="classArServerModeDrive.html#a3c02b634cdd8997cfec66043bb99b345">ArServerModeDrive::driveJoystick()</a>, <a class="el" href="classArServerModeRatioDrive.html#a05695d0bfce99671e9285b934932eb75">ArServerModeRatioDrive::ratioDrive()</a>, and <a class="el" href="classArServerMode.html#a08ec815d73e0835e18446fc3444e2d5c">remSingleShotPostDeactivateCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a9b36a9994a87a9446a7897c80c640e14"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::baseDeactivate </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Deactivates this mode. </p>
<p>Whenever a mode uses this it should already have done all of its own deactivations (this also calls the deactive callbacks)</p>
<p>Deactivation callbacks are called. The next mode to be activated is activated, if any. (E.g. the global default mode) </p>

<p>References <a class="el" href="classArServerMode.html#a3e6c97caab6953a5886e10ea8a80c9c6">activationDenied()</a>, <a class="el" href="classArServerMode.html#a1a323c4fba120c61e97e86672271f5af">getName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCallbackList.html#a47c8a5851b89254713ac5297cf539754">ArCallbackList::invoke()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerMode.html#aa2e2e158a5421b7ddabd9b29c7eaa729">myDeactivateCallbacks</a>, <a class="el" href="classArServerMode.html#ae0a97bcc83e1d13b3f09e1f3b9dc5613">myIsActive</a>, <a class="el" href="classArServerMode.html#a962670b48e5e976e6db615d2ed2a182f">mySingleShotDeactivateCallbacks</a>, <a class="el" href="classArServerMode.html#a4c54b1999a387825eeb937e12ea32ab6">mySingleShotPostDeactivateCallbacks</a>, <a class="el" href="classArServerMode.html#adca90d0d23c68ee14dc62095c3d6c336">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a>, <a class="el" href="classArServerMode.html#a29396b0b1f3879af968f50fb0edc9fe4">ourActiveModeLocked</a>, <a class="el" href="classArServerMode.html#a1cd6a6ab0d0159f008a59f85d97a213d">ourDefaultModes</a>, <a class="el" href="classArServerMode.html#a9e3ab7fc3bce2ef1d0cb849c3563a122">ourIdleMode</a>, <a class="el" href="classArServerMode.html#a37b5871079b35f4e03f5ae42ff9099db">ourLastActiveMode</a>, <a class="el" href="classArServerMode.html#a600992a4fddda1410dbc275886dfe3bb">ourNextActiveMode</a>, <a class="el" href="classArServerMode.html#a14c37dde86119df95e719051a6f35b05">ourRequestedActivateModes</a>, and <a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode()</a>.</p>

<p>Referenced by <a class="el" href="classArServerModeStop.html#ace3ae18699e40e1f6120311510474dc6">ArServerModeStop::deactivate()</a>, <a class="el" href="classArServerModeWander.html#a04a978ad8c845ec866b2639b2f3eacd3">ArServerModeWander::deactivate()</a>, <a class="el" href="classArServerModeDrive.html#a62c04e2aa6d0047413bc7ee994167857">ArServerModeDrive::deactivate()</a>, <a class="el" href="classArServerModeIdle.html#abb53bfa7fcbb9d7e93c0237d5172320e">ArServerModeIdle::deactivate()</a>, <a class="el" href="classArServerModeRatioDrive.html#a6a06c21a8fd937809482eb9360ff36d3">ArServerModeRatioDrive::deactivate()</a>, <a class="el" href="classArServerModeJogPosition.html#ac0be44b91245424cc158f620084478c0">ArServerModeJogPosition::deactivate()</a>, and <a class="el" href="classArServerMode.html#a08ec815d73e0835e18446fc3444e2d5c">remSingleShotPostDeactivateCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a76e39322bbaf7429fece462b3245bea9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::buildModeInfoPacket </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerMode.html#a1a323c4fba120c61e97e86672271f5af">getName()</a>, <a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a>, <a class="el" href="classArServerMode.html#a29396b0b1f3879af968f50fb0edc9fe4">ourActiveModeLocked</a>, <a class="el" href="classArServerMode.html#a68e83ec188c8902d1d8e8ac9c5f6d1b6">ourActiveModeWillUnlockIfRequested</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1367558f1c0ce2830072a649ad935d21">ArBasePacket::strToBuf()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#ab909290dd24db16046bdf792a20eb6da">ArBasePacket::uByteToBuf()</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#aeccf06f0f128f489f56cd07b966ac2b4">checkBroadcastModeInfoPacket()</a>, <a class="el" href="classArServerMode.html#a282706c010844b2d3923b0ec0ac4b802">getModeInfo()</a>, and <a class="el" href="classArServerMode.html#a08ec815d73e0835e18446fc3444e2d5c">remSingleShotPostDeactivateCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="aeccf06f0f128f489f56cd07b966ac2b4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::checkBroadcastModeInfoPacket </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerBase.html#aaf43c74fa075d30ec57eb1ac4221084c">ArServerBase::broadcastPacketTcp()</a>, <a class="el" href="classArServerMode.html#a76e39322bbaf7429fece462b3245bea9">buildModeInfoPacket()</a>, <a class="el" href="classArServerMode.html#aa9b2f709812b30d3baa0715e06972ed1">myServer</a>, <a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a>, <a class="el" href="classArServerMode.html#a29396b0b1f3879af968f50fb0edc9fe4">ourActiveModeLocked</a>, <a class="el" href="classArServerMode.html#a68e83ec188c8902d1d8e8ac9c5f6d1b6">ourActiveModeWillUnlockIfRequested</a>, <a class="el" href="classArServerMode.html#a1fdf8b2a83b3ef3cd0aa0acb46ffdcdf">ourBroadcastActiveMode</a>, <a class="el" href="classArServerMode.html#ab571f12a0878959d134ee2bc214d816a">ourBroadcastActiveModeLocked</a>, and <a class="el" href="classArServerMode.html#a525e08c21cc9f8941e9dac299f631997">ourBroadcastActiveModeWillUnlockIfRequested</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerMode.html#a5c81f4374bca5c809fe74c3fdc204671">lockMode()</a>, <a class="el" href="classArServerMode.html#a08ec815d73e0835e18446fc3444e2d5c">remSingleShotPostDeactivateCallback()</a>, and <a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a014227585b6eb3d36dc3dc0763b9eb47"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ArServerMode::checkDefault </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sees if this wants to become the default mode. </p>
<p>This will be called when there would be no other modes, if this mode wants to take over it should activate itself, if it doesn't want to take over it shouldn't activate </p>

<p>Reimplemented in <a class="el" href="classArServerModeWander.html#adf9a8b53e6f248cb4d06f609e1fed458">ArServerModeWander</a>, and <a class="el" href="classArServerModeStop.html#a2e12fe875ae55de5bae5cbdbf20e7e10">ArServerModeStop</a>.</p>

</div>
</div>
<a class="anchor" id="a3e38e919b51d105bd781f165a7e91679"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ArServerMode::deactivate </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The function called when the mode is deactivated. </p>
<p>Subclasses must implement this, and also call <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14" title="Deactivates this mode. ">baseDeactivate()</a>. </p>

<p>Implemented in <a class="el" href="classArServerModeJogPosition.html#ac0be44b91245424cc158f620084478c0">ArServerModeJogPosition</a>, <a class="el" href="classArServerModeRatioDrive.html#a6a06c21a8fd937809482eb9360ff36d3">ArServerModeRatioDrive</a>, <a class="el" href="classArServerModeIdle.html#abb53bfa7fcbb9d7e93c0237d5172320e">ArServerModeIdle</a>, <a class="el" href="classArServerModeDrive.html#a62c04e2aa6d0047413bc7ee994167857">ArServerModeDrive</a>, <a class="el" href="classArServerModeWander.html#a04a978ad8c845ec866b2639b2f3eacd3">ArServerModeWander</a>, and <a class="el" href="classArServerModeStop.html#ace3ae18699e40e1f6120311510474dc6">ArServerModeStop</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, and <a class="el" href="classArServerMode.html#a83509005e2ee9ede7464fb5aa9e2fee6">getActionGroup()</a>.</p>

</div>
</div>
<a class="anchor" id="a14ebae2c8954290a9a24ae436d76cfcb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::forceUnlock </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This will be called if another mode has to break the lock. </p>
<p>This should only be called from places where a forced unlock <em>HAS</em> to happen, ie on a robot joystick, but modes should do whatever they have to in this to turn things off or what not. </p>

<p>References <a class="el" href="classArServerMode.html#a1a323c4fba120c61e97e86672271f5af">getName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode()</a>.</p>

<p>Referenced by <a class="el" href="classArServerModeRatioDrive.html#ae511bb3aaf38f80c031c7721d6dda69d">ArServerModeRatioDrive::joyUserTask()</a>, and <a class="el" href="classArServerMode.html#a5870d8eebdcb7d0ba50679b87ace7f05">requestUnlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a83509005e2ee9ede7464fb5aa9e2fee6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArActionGroup.html">ArActionGroup</a>* ArServerMode::getActionGroup </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function should return the action group this mode uses. </p>

<p>Reimplemented in <a class="el" href="classArServerModeJogPosition.html#a72a2780024cd1891be31bcfb4b08d6fa">ArServerModeJogPosition</a>, <a class="el" href="classArServerModeRatioDrive.html#a1a71f4eddf2419d40e8e3a52331330ce">ArServerModeRatioDrive</a>, <a class="el" href="classArServerModeDrive.html#afcec069d66c9fc4e2e14fb03529e7e2f">ArServerModeDrive</a>, <a class="el" href="classArServerModeIdle.html#aed7b5eda46cfdfc07d71f8b367c7ad93">ArServerModeIdle</a>, <a class="el" href="classArServerModeWander.html#a9774325c028618ae6eb6d185c2bc9e6b">ArServerModeWander</a>, and <a class="el" href="classArServerModeStop.html#a301e68555c2cecc6cc989549c496cb25">ArServerModeStop</a>.</p>

<p>References <a class="el" href="classArServerMode.html#a092c6d2981123554324e7697658c6814">activate()</a>, and <a class="el" href="classArServerMode.html#a3e38e919b51d105bd781f165a7e91679">deactivate()</a>.</p>

</div>
</div>
<a class="anchor" id="a3d12ee9d79a46c35b3af45223b771e3f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerMode.html">ArServerMode</a> * ArServerMode::getActiveMode </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the active mode. </p>

<p>References <a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#aef0b2b6b2c15781ce4b9e9e9269817cb">isActive()</a>, <a class="el" href="classArServerModeDrive.html#a76f8032da3fb8858cddc47b8ab25dd26">ArServerModeDrive::joyUserTask()</a>, <a class="el" href="classArServerModeRatioDrive.html#ae511bb3aaf38f80c031c7721d6dda69d">ArServerModeRatioDrive::joyUserTask()</a>, <a class="el" href="classArServerInfoRobot.html#a4a0905008a60f291372e53481d6656a2">ArServerInfoRobot::update()</a>, and <a class="el" href="classArServerInfoRobot.html#ab22b4e8128c3c289fbb8c724feaff5f2">ArServerInfoRobot::userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="af7b38792e1c67ba86b86dbe23be05763"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArServerMode::getActiveModeActivityTimeSecSince </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the seconds since the activity of our active mode. </p>

<p>References <a class="el" href="classArServerMode.html#a72957552e992a8a02f679ce15c46de3c">getActivityTime()</a>, <a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga5385636d566c665eb9d722af6f65aef5">ArTime::secSince()</a>.</p>

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#a37b6b2739285beb767fea6bcb130cdb0">ArServerInfoRobot::activityTimeInfo()</a>, <a class="el" href="classArServerMode.html#a789e20814dce5a0b1662b9e812970b3a">hasSetActivityTime()</a>, <a class="el" href="classArServerMode.html#a5701ebb7e5a76845fee0be277c40c13e">modeUserTask()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">ArServerBase::slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a5ab05a0554d8b418af6c53812278577c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArServerMode::getActiveModeExtendedStatusString </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the active extended status string. </p>

<p>References <a class="el" href="classArServerMode.html#a6e66aee860aa207897d03aa1194428f2">getExtendedStatus()</a>, and <a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a6e66aee860aa207897d03aa1194428f2">getExtendedStatus()</a>.</p>

</div>
</div>
<a class="anchor" id="a85b865d2651047bedfaddcf5771d0721"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArServerMode::getActiveModeModeString </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the active mode string. </p>

<p>References <a class="el" href="classArServerMode.html#a1958150b0f5e06d78b0a8e016c2b659b">getMode()</a>, and <a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a6e66aee860aa207897d03aa1194428f2">getExtendedStatus()</a>.</p>

</div>
</div>
<a class="anchor" id="ad916f018e9bf69303f495d2aa28afd85"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::getActiveModeSetActivityThisCycle </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets if the active mode set the activity time this cycle or not. </p>

<p>References <a class="el" href="classArServerMode.html#a32ee20e608421d5246c595a388eaa4b5">ourActiveModeSetActivityThisCycle</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a789e20814dce5a0b1662b9e812970b3a">hasSetActivityTime()</a>.</p>

</div>
</div>
<a class="anchor" id="a18c24eabbec199ba6f0311f5cb80cd2f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArServerMode::getActiveModeStatusString </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the active status string. </p>

<p>References <a class="el" href="classArServerMode.html#a79c34eb7c604eb4c292f45fb976ccaea">getStatus()</a>, and <a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a6e66aee860aa207897d03aa1194428f2">getExtendedStatus()</a>.</p>

</div>
</div>
<a class="anchor" id="a72957552e992a8a02f679ce15c46de3c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a> ArServerMode::getActivityTime </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the time of our last activity. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerMode.html#a7600d662ad8ed4d258f8a65d0c1bbeed">myActivityTime</a>, <a class="el" href="classArServerMode.html#af0a5cd17d137c15bf671f8c5f708047f">myActivityTimeMutex</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#af7b38792e1c67ba86b86dbe23be05763">getActiveModeActivityTimeSecSince()</a>, and <a class="el" href="classArServerMode.html#a789e20814dce5a0b1662b9e812970b3a">hasSetActivityTime()</a>.</p>

</div>
</div>
<a class="anchor" id="a6e66aee860aa207897d03aa1194428f2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* ArServerMode::getExtendedStatus </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a string representing the extended status of the mode we're in. </p>

<p>References <a class="el" href="classArServerMode.html#a5ab05a0554d8b418af6c53812278577c">getActiveModeExtendedStatusString()</a>, <a class="el" href="classArServerMode.html#a85b865d2651047bedfaddcf5771d0721">getActiveModeModeString()</a>, <a class="el" href="classArServerMode.html#a18c24eabbec199ba6f0311f5cb80cd2f">getActiveModeStatusString()</a>, and <a class="el" href="classArServerMode.html#aca9e0fdb6fb3ca81f80387c40cc5cc59">myExtendedStatus</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a5ab05a0554d8b418af6c53812278577c">getActiveModeExtendedStatusString()</a>, and <a class="el" href="classArServerInfoRobot.html#ab22b4e8128c3c289fbb8c724feaff5f2">ArServerInfoRobot::userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a62adbda73b582fcbb56c2ecdaf6ff52f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerModeIdle.html">ArServerModeIdle</a> * ArServerMode::getIdleMode </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Call that gets our idle mode. </p>

<p>References <a class="el" href="classArServerMode.html#a9e3ab7fc3bce2ef1d0cb849c3563a122">ourIdleMode</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a08ec815d73e0835e18446fc3444e2d5c">remSingleShotPostDeactivateCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="afd94f60638f8c31941fb4002ad0d5185"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerMode.html">ArServerMode</a> * ArServerMode::getLastActiveMode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerMode.html#a37b5871079b35f4e03f5ae42ff9099db">ourLastActiveMode</a>.</p>

</div>
</div>
<a class="anchor" id="a1958150b0f5e06d78b0a8e016c2b659b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* ArServerMode::getMode </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a string representing the mode we're in. </p>

<p>References <a class="el" href="classArServerMode.html#a4041998b9de0e5a4b9696b5b386e94b1">myMode</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a85b865d2651047bedfaddcf5771d0721">getActiveModeModeString()</a>, <a class="el" href="classArServerInfoRobot.html#a4a0905008a60f291372e53481d6656a2">ArServerInfoRobot::update()</a>, and <a class="el" href="classArServerInfoRobot.html#ab22b4e8128c3c289fbb8c724feaff5f2">ArServerInfoRobot::userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="af778e02b6962d25b53489a568b851d8e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::getModeBusy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Handles the packet request for the mode busy state. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a9afdff469545e32649067ed0db391046">ArBasePacket::byteToBuf()</a>, <a class="el" href="classArServerMode.html#a87dbecb73ca88e29816c93c45089d710">ourIsBusy</a>, and <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">ArServerClient::sendPacketTcp()</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a3ccc40a4a377d006dc4ab77e0841ee8b">setStatus()</a>.</p>

</div>
</div>
<a class="anchor" id="a8190970059f9c792a223abcb6e082a78"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::getModeDataList </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the list of data for each mode. </p>
<p>This returns the list of which data is in which mode. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerMode.html#a181e8411133da147fcf5e49b3aa54b75">ourModeDataMap</a>, <a class="el" href="classArServerMode.html#afa2626f90d550bb3bcb0652b11c2c101">ourModeDataMapMutex</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">ArServerClient::sendPacketTcp()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1367558f1c0ce2830072a649ad935d21">ArBasePacket::strToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#abeb94fdd3729b05abb4574903887876c">ArBasePacket::uByte4ToBuf()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a3ccc40a4a377d006dc4ab77e0841ee8b">setStatus()</a>.</p>

</div>
</div>
<a class="anchor" id="a282706c010844b2d3923b0ec0ac4b802"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::getModeInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the info about which mode is active and such. </p>
<p>This will get the info about the current active mode. </p>

<p>References <a class="el" href="classArServerMode.html#a76e39322bbaf7429fece462b3245bea9">buildModeInfoPacket()</a>, and <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">ArServerClient::sendPacketTcp()</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a3ccc40a4a377d006dc4ab77e0841ee8b">setStatus()</a>.</p>

</div>
</div>
<a class="anchor" id="a1a323c4fba120c61e97e86672271f5af"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* ArServerMode::getName </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the name of the mode we're in. </p>

<p>References <a class="el" href="classArServerMode.html#a49565b6ee2a61ebd916565bc944d9d44">myName</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#ac071f8179603fecc38d69f8e89e88f34">addAsDefaultMode()</a>, <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, <a class="el" href="classArServerMode.html#a76e39322bbaf7429fece462b3245bea9">buildModeInfoPacket()</a>, <a class="el" href="classArServerMode.html#a14ebae2c8954290a9a24ae436d76cfcb">forceUnlock()</a>, <a class="el" href="classArServerModeJogPosition.html#ab8928d2b01fa6c68bfc6c8ea03caf47a">ArServerModeJogPosition::heading()</a>, <a class="el" href="classArServerModeDrive.html#a76f8032da3fb8858cddc47b8ab25dd26">ArServerModeDrive::joyUserTask()</a>, <a class="el" href="classArServerModeRatioDrive.html#ae511bb3aaf38f80c031c7721d6dda69d">ArServerModeRatioDrive::joyUserTask()</a>, <a class="el" href="classArServerMode.html#a5c81f4374bca5c809fe74c3fdc204671">lockMode()</a>, <a class="el" href="classArServerModeJogPosition.html#a73a0d95fef4dac3f11f8daff6a340d12">ArServerModeJogPosition::move()</a>, <a class="el" href="classArServerModeRatioDrive.html#a05695d0bfce99671e9285b934932eb75">ArServerModeRatioDrive::ratioDrive()</a>, <a class="el" href="classArServerModeJogPosition.html#a1cb08262d57f01599f2893d800240b7f">ArServerModeJogPosition::serverHeading()</a>, <a class="el" href="classArServerModeJogPosition.html#a607784b5a45fbe6a1b5ee02f12bb5824">ArServerModeJogPosition::serverMove()</a>, <a class="el" href="classArServerModeRatioDrive.html#ada4c9dab13063c2ce20efc3893ed07e8">ArServerModeRatioDrive::serverRatioDrive()</a>, <a class="el" href="classArServerModeJogPosition.html#ae5469c8ce840463a9def466db0086030">ArServerModeJogPosition::serverTurn()</a>, <a class="el" href="classArServerModeJogPosition.html#a4f7829a043fa1087a4955f244595177e">ArServerModeJogPosition::stringCmdHeading()</a>, <a class="el" href="classArServerModeJogPosition.html#ad97477a6ca9db6e65de1a505f94e962e">ArServerModeJogPosition::stringCmdMove()</a>, <a class="el" href="classArServerModeJogPosition.html#a8dc1e4fc99bf6f10259d6bab313c2aee">ArServerModeJogPosition::stringCmdTurn()</a>, <a class="el" href="classArServerModeJogPosition.html#a69b33cd7db01379423918dd363cd201c">ArServerModeJogPosition::turn()</a>, and <a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a25746e810a80c943a0b8f955e4a085f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt; <a class="el" href="classArServerMode.html">ArServerMode</a> * &gt; * ArServerMode::getRequestedActivateModes </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerMode.html#a14c37dde86119df95e719051a6f35b05">ourRequestedActivateModes</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a08ec815d73e0835e18446fc3444e2d5c">remSingleShotPostDeactivateCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a79c34eb7c604eb4c292f45fb976ccaea"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* ArServerMode::getStatus </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a string representing the status of the mode we're in. </p>

<p>References <a class="el" href="classArServerMode.html#afa94143f88b10591b5f80c63d5a6797f">myStatus</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a18c24eabbec199ba6f0311f5cb80cd2f">getActiveModeStatusString()</a>, <a class="el" href="classArServerInfoRobot.html#a4a0905008a60f291372e53481d6656a2">ArServerInfoRobot::update()</a>, and <a class="el" href="classArServerInfoRobot.html#ab22b4e8128c3c289fbb8c724feaff5f2">ArServerInfoRobot::userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a789e20814dce5a0b1662b9e812970b3a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::hasSetActivityTime </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets if we've set our activity time. </p>

<p>References <a class="el" href="classArServerMode.html#ac071f8179603fecc38d69f8e89e88f34">addAsDefaultMode()</a>, <a class="el" href="classArServerMode.html#af7b38792e1c67ba86b86dbe23be05763">getActiveModeActivityTimeSecSince()</a>, <a class="el" href="classArServerMode.html#ad916f018e9bf69303f495d2aa28afd85">getActiveModeSetActivityThisCycle()</a>, <a class="el" href="classArServerMode.html#a72957552e992a8a02f679ce15c46de3c">getActivityTime()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a3c55111fa6c7f63c41fc0b387f5b57d9">ArListPos::LAST</a>, <a class="el" href="classArServerMode.html#a1dda759f1f11f14a403784ce31e0edaf">myHasSetActivityTime</a>, and <a class="el" href="classArServerMode.html#aa06c79717f2c05be4be1738e15a286ac">setActivityTimeToNow()</a>.</p>

</div>
</div>
<a class="anchor" id="a0f4c90ee6a9fe47abed59865f2a9ac78"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::internalSetActivityTime </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a>&#160;</td>
          <td class="paramname"><em>time</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal call to set the activity time (this is dangerous and shouldn't be used) </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerMode.html#a7600d662ad8ed4d258f8a65d0c1bbeed">myActivityTime</a>, <a class="el" href="classArServerMode.html#af0a5cd17d137c15bf671f8c5f708047f">myActivityTimeMutex</a>, <a class="el" href="classArServerMode.html#a1dda759f1f11f14a403784ce31e0edaf">myHasSetActivityTime</a>, <a class="el" href="classArServerMode.html#abbd1f1899687d626098ef8ccd976e180">mySetActivityThisCycle</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a08ec815d73e0835e18446fc3444e2d5c">remSingleShotPostDeactivateCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="aef0b2b6b2c15781ce4b9e9e9269817cb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::isActive </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets if this mode is active or not. </p>

<p>References <a class="el" href="classArServerMode.html#a3d12ee9d79a46c35b3af45223b771e3f">getActiveMode()</a>, <a class="el" href="classArServerMode.html#a5759f053d1e95063917373035728f667">isLocked()</a>, <a class="el" href="classArServerMode.html#ae0a97bcc83e1d13b3f09e1f3b9dc5613">myIsActive</a>, and <a class="el" href="classArServerMode.html#ac146b5c1c295c1748807798c4aac4878">willUnlockIfRequested()</a>.</p>

<p>Referenced by <a class="el" href="classArServerModeStop.html#a701b1ae94cfda807e9f3d6c51a9fc53f">ArServerModeStop::activate()</a>, <a class="el" href="classArServerModeIdle.html#a84867b663457084418b188714cee227f">ArServerModeIdle::activate()</a>, <a class="el" href="classArServerModeJogPosition.html#a6157251fc3b3ca735af747c84ee3a235">ArServerModeJogPosition::activate()</a>, <a class="el" href="classArServerModeDrive.html#a3c02b634cdd8997cfec66043bb99b345">ArServerModeDrive::driveJoystick()</a>, <a class="el" href="classArServerModeJogPosition.html#ab8928d2b01fa6c68bfc6c8ea03caf47a">ArServerModeJogPosition::heading()</a>, <a class="el" href="classArServerModeDrive.html#a76f8032da3fb8858cddc47b8ab25dd26">ArServerModeDrive::joyUserTask()</a>, <a class="el" href="classArServerModeRatioDrive.html#ae511bb3aaf38f80c031c7721d6dda69d">ArServerModeRatioDrive::joyUserTask()</a>, <a class="el" href="classArServerModeJogPosition.html#a73a0d95fef4dac3f11f8daff6a340d12">ArServerModeJogPosition::move()</a>, <a class="el" href="classArServerModeRatioDrive.html#a05695d0bfce99671e9285b934932eb75">ArServerModeRatioDrive::ratioDrive()</a>, <a class="el" href="classArServerModeDrive.html#a44ab3cbb734859235c736ce72714e0b8">ArServerModeDrive::serverDriveJoystick()</a>, <a class="el" href="classArServerModeRatioDrive.html#ada4c9dab13063c2ce20efc3893ed07e8">ArServerModeRatioDrive::serverRatioDrive()</a>, <a class="el" href="classArServerModeDrive.html#abde07d6582bd825ddf45b0c58218e7e6">ArServerModeDrive::setSafeDriving()</a>, <a class="el" href="classArServerModeRatioDrive.html#a88962dfc85ceed1d452a9295cfff2f4f">ArServerModeRatioDrive::setSafeDriving()</a>, and <a class="el" href="classArServerModeJogPosition.html#a69b33cd7db01379423918dd363cd201c">ArServerModeJogPosition::turn()</a>.</p>

</div>
</div>
<a class="anchor" id="a61e811cdddb8eeca316f49615785f590"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::isAutoResumeAfterInterrupt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds data to the list of this mode's commands. </p>
<p>Returns whether the mode should be automatically resumed after it was interrupted This method primarily applies when the mode has been interrupted by a forced docking situation. In that case, when the docking mode is complete, it will resume the interrupted mode &ndash; if this method returns true. This would primarily be applicable to very long, complex modes.</p>
<p>The default return value is false. </p>

<p>Referenced by <a class="el" href="classArServerMode.html#a3ccc40a4a377d006dc4ab77e0841ee8b">setStatus()</a>.</p>

</div>
</div>
<a class="anchor" id="a5759f053d1e95063917373035728f667"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::isLocked </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets if the active mode is locked or not. </p>

<p>References <a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a>, and <a class="el" href="classArServerMode.html#a29396b0b1f3879af968f50fb0edc9fe4">ourActiveModeLocked</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#aef0b2b6b2c15781ce4b9e9e9269817cb">isActive()</a>.</p>

</div>
</div>
<a class="anchor" id="a5c81f4374bca5c809fe74c3fdc204671"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::lockMode </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>willUnlockIfRequested</em> = <code>false</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Locks this mode in until its unlocked (mode must be the active mode) </p>

<p>References <a class="el" href="classArServerMode.html#aeccf06f0f128f489f56cd07b966ac2b4">checkBroadcastModeInfoPacket()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#a7ec7c56af3e62905f74194492bfef213">ArUtil::convertBool()</a>, <a class="el" href="classArServerMode.html#a1a323c4fba120c61e97e86672271f5af">getName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerMode.html#ae0a97bcc83e1d13b3f09e1f3b9dc5613">myIsActive</a>, <a class="el" href="classArServerMode.html#adca90d0d23c68ee14dc62095c3d6c336">myVerboseLogLevel</a>, <a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a>, <a class="el" href="classArServerMode.html#a29396b0b1f3879af968f50fb0edc9fe4">ourActiveModeLocked</a>, <a class="el" href="classArServerMode.html#a68e83ec188c8902d1d8e8ac9c5f6d1b6">ourActiveModeWillUnlockIfRequested</a>, and <a class="el" href="classArServerMode.html#ac146b5c1c295c1748807798c4aac4878">willUnlockIfRequested()</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a5870d8eebdcb7d0ba50679b87ace7f05">requestUnlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a5701ebb7e5a76845fee0be277c40c13e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::modeUserTask </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerBase.html#aaf43c74fa075d30ec57eb1ac4221084c">ArServerBase::broadcastPacketTcp()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a9afdff469545e32649067ed0db391046">ArBasePacket::byteToBuf()</a>, <a class="el" href="classArServerMode.html#af7b38792e1c67ba86b86dbe23be05763">getActiveModeActivityTimeSecSince()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerMode.html#abbd1f1899687d626098ef8ccd976e180">mySetActivityThisCycle</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a>, <a class="el" href="classArServerMode.html#a32ee20e608421d5246c595a388eaa4b5">ourActiveModeSetActivityThisCycle</a>, <a class="el" href="classArServerMode.html#a1cd6a6ab0d0159f008a59f85d97a213d">ourDefaultModes</a>, <a class="el" href="classArServerMode.html#a87dbecb73ca88e29816c93c45089d710">ourIsBusy</a>, <a class="el" href="classArServerMode.html#a89d8016220a4304344c3b5d460b6ae0b">ourServerBase</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="el" href="classArServerMode.html#a4f82c754ecd65d0f495920555d51cca9">userTask()</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a08ec815d73e0835e18446fc3444e2d5c">remSingleShotPostDeactivateCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="ae7684042c77fa0c93a794417fa50a179"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::remActivateCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes a callback for when this class is activated. </p>

<p>References <a class="el" href="classArServerMode.html#ab3cfe4fcad1830d1cd739348b97ec6be">myActivateCallbacks</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGenericCallbackList.html#adeaa9b5526e59e3f732a6585f70e5379">ArGenericCallbackList&lt; ArFunctor * &gt;::remCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a414a561a1dc614dc5e2ab25a2981c77a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::remDeactivateCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes a callback for when this class is deactivated. </p>

<p>References <a class="el" href="classArServerMode.html#aa2e2e158a5421b7ddabd9b29c7eaa729">myDeactivateCallbacks</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGenericCallbackList.html#adeaa9b5526e59e3f732a6585f70e5379">ArGenericCallbackList&lt; ArFunctor * &gt;::remCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="acbf53ef90c389f4b1b652e05aae4c826"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::remSingleShotDeactivateCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes a single shot callback for when this class is deactivated. </p>

<p>References <a class="el" href="classArServerMode.html#a962670b48e5e976e6db615d2ed2a182f">mySingleShotDeactivateCallbacks</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGenericCallbackList.html#adeaa9b5526e59e3f732a6585f70e5379">ArGenericCallbackList&lt; ArFunctor * &gt;::remCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a08ec815d73e0835e18446fc3444e2d5c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::remSingleShotPostDeactivateCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes a single shot callback for just after the deactivate happens (when the next mode has activated) </p>

<p>References <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, <a class="el" href="classArServerMode.html#a76e39322bbaf7429fece462b3245bea9">buildModeInfoPacket()</a>, <a class="el" href="classArServerMode.html#aeccf06f0f128f489f56cd07b966ac2b4">checkBroadcastModeInfoPacket()</a>, <a class="el" href="classArServerMode.html#a62adbda73b582fcbb56c2ecdaf6ff52f">getIdleMode()</a>, <a class="el" href="classArServerMode.html#a25746e810a80c943a0b8f955e4a085f4">getRequestedActivateModes()</a>, <a class="el" href="classArServerMode.html#a0f4c90ee6a9fe47abed59865f2a9ac78">internalSetActivityTime()</a>, <a class="el" href="classArServerMode.html#a5701ebb7e5a76845fee0be277c40c13e">modeUserTask()</a>, <a class="el" href="classArServerMode.html#a4c54b1999a387825eeb937e12ea32ab6">mySingleShotPostDeactivateCallbacks</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGenericCallbackList.html#adeaa9b5526e59e3f732a6585f70e5379">ArGenericCallbackList&lt; ArFunctor * &gt;::remCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a5870d8eebdcb7d0ba50679b87ace7f05"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ArServerMode::requestUnlock </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This will be called if another mode wants the lock broken (can ignore) </p>

<p>References <a class="el" href="classArServerMode.html#a14ebae2c8954290a9a24ae436d76cfcb">forceUnlock()</a>, <a class="el" href="classArServerMode.html#a5c81f4374bca5c809fe74c3fdc204671">lockMode()</a>, <a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode()</a>, and <a class="el" href="classArServerMode.html#ac146b5c1c295c1748807798c4aac4878">willUnlockIfRequested()</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>.</p>

</div>
</div>
<a class="anchor" id="aa06c79717f2c05be4be1738e15a286ac"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::setActivityTimeToNow </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets that we're active right now. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerMode.html#a7600d662ad8ed4d258f8a65d0c1bbeed">myActivityTime</a>, <a class="el" href="classArServerMode.html#af0a5cd17d137c15bf671f8c5f708047f">myActivityTimeMutex</a>, <a class="el" href="classArServerMode.html#a1dda759f1f11f14a403784ce31e0edaf">myHasSetActivityTime</a>, <a class="el" href="classArServerMode.html#abbd1f1899687d626098ef8ccd976e180">mySetActivityThisCycle</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga7c269e161c8e7cb56bde73dea501a619">ArTime::setToNow()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerModeStop.html#a701b1ae94cfda807e9f3d6c51a9fc53f">ArServerModeStop::activate()</a>, <a class="el" href="classArServerModeWander.html#a6c77fb01f8cc4f5fc1cfe5d49a858310">ArServerModeWander::activate()</a>, <a class="el" href="classArServerModeIdle.html#a84867b663457084418b188714cee227f">ArServerModeIdle::activate()</a>, <a class="el" href="classArServerModeDrive.html#a3c02b634cdd8997cfec66043bb99b345">ArServerModeDrive::driveJoystick()</a>, <a class="el" href="classArServerMode.html#a789e20814dce5a0b1662b9e812970b3a">hasSetActivityTime()</a>, <a class="el" href="classArServerModeJogPosition.html#ab8928d2b01fa6c68bfc6c8ea03caf47a">ArServerModeJogPosition::heading()</a>, <a class="el" href="classArServerModeJogPosition.html#a73a0d95fef4dac3f11f8daff6a340d12">ArServerModeJogPosition::move()</a>, <a class="el" href="classArServerModeStop.html#a20fbc6d1a4f90c1cc5bb804086ca7dbb">ArServerModeStop::netStop()</a>, <a class="el" href="classArServerModeWander.html#a432017b4c8052c3b267d0612ed438cb3">ArServerModeWander::netWander()</a>, <a class="el" href="classArServerModeRatioDrive.html#a05695d0bfce99671e9285b934932eb75">ArServerModeRatioDrive::ratioDrive()</a>, <a class="el" href="classArServerModeJogPosition.html#a69b33cd7db01379423918dd363cd201c">ArServerModeJogPosition::turn()</a>, <a class="el" href="classArServerModeStop.html#a4443dcf32af692d03a413d89bb8d5659">ArServerModeStop::userTask()</a>, <a class="el" href="classArServerModeWander.html#aa6766d994f2b80d1999686757f6bb57a">ArServerModeWander::userTask()</a>, <a class="el" href="classArServerModeIdle.html#a8739492a9d7f6ad7068c7760726c3274">ArServerModeIdle::userTask()</a>, <a class="el" href="classArServerModeDrive.html#a4367ea5ca3e469de40aac68f32758590">ArServerModeDrive::userTask()</a>, and <a class="el" href="classArServerModeRatioDrive.html#a662446425208fdbc3479bd7bab4bbd2c">ArServerModeRatioDrive::userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="af030881b4c33da7ad92a9c21d8ae23cd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::setMode </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This should only be used by careful people and probably not then. </p>

<p>References <a class="el" href="classArServerMode.html#a4041998b9de0e5a4b9696b5b386e94b1">myMode</a>.</p>

</div>
</div>
<a class="anchor" id="a3ccc40a4a377d006dc4ab77e0841ee8b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::setStatus </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This should only be used by careful people and probably not then. </p>
<p>This changes the status of the mode and sets the myStatusSetThisCycle to true. If the mode inheriting is setting the status in cycles then it should use this status instead and then clear the myStatusSetThisFlag to false. </p>

<p>References <a class="el" href="classArServerMode.html#a9acf27a776a00075387380f01d96822c">addModeData()</a>, <a class="el" href="changeMapOnServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArServerMode.html#af778e02b6962d25b53489a568b851d8e">getModeBusy()</a>, <a class="el" href="classArServerMode.html#a8190970059f9c792a223abcb6e082a78">getModeDataList()</a>, <a class="el" href="classArServerMode.html#a282706c010844b2d3923b0ec0ac4b802">getModeInfo()</a>, <a class="el" href="classArServerMode.html#a61e811cdddb8eeca316f49615785f590">isAutoResumeAfterInterrupt()</a>, <a class="el" href="classArServerMode.html#afa94143f88b10591b5f80c63d5a6797f">myStatus</a>, and <a class="el" href="classArServerMode.html#a63534616025bba5c532b5b3e385d2e4a">myStatusSetThisCycle</a>.</p>

</div>
</div>
<a class="anchor" id="a746568cbafdc300088c404234fc18973"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerMode::unlockMode </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Unlocks the mode so other modes can activate. </p>

<p>References <a class="el" href="classArServerMode.html#a092c6d2981123554324e7697658c6814">activate()</a>, <a class="el" href="classArServerMode.html#aeccf06f0f128f489f56cd07b966ac2b4">checkBroadcastModeInfoPacket()</a>, <a class="el" href="classArServerMode.html#a1a323c4fba120c61e97e86672271f5af">getName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerMode.html#ae0a97bcc83e1d13b3f09e1f3b9dc5613">myIsActive</a>, <a class="el" href="classArServerMode.html#adca90d0d23c68ee14dc62095c3d6c336">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a>, <a class="el" href="classArServerMode.html#a29396b0b1f3879af968f50fb0edc9fe4">ourActiveModeLocked</a>, <a class="el" href="classArServerMode.html#a68e83ec188c8902d1d8e8ac9c5f6d1b6">ourActiveModeWillUnlockIfRequested</a>, <a class="el" href="classArServerMode.html#a9e3ab7fc3bce2ef1d0cb849c3563a122">ourIdleMode</a>, <a class="el" href="classArServerMode.html#a600992a4fddda1410dbc275886dfe3bb">ourNextActiveMode</a>, and <a class="el" href="classArServerMode.html#a14c37dde86119df95e719051a6f35b05">ourRequestedActivateModes</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, <a class="el" href="classArServerMode.html#a14ebae2c8954290a9a24ae436d76cfcb">forceUnlock()</a>, and <a class="el" href="classArServerMode.html#a5870d8eebdcb7d0ba50679b87ace7f05">requestUnlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a4f82c754ecd65d0f495920555d51cca9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ArServerMode::userTask </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMode.html">ArMode</a>'s user task, don't need one, subclass must provide if needed. </p>

<p>Reimplemented in <a class="el" href="classArServerModeRatioDrive.html#a662446425208fdbc3479bd7bab4bbd2c">ArServerModeRatioDrive</a>, <a class="el" href="classArServerModeDrive.html#a4367ea5ca3e469de40aac68f32758590">ArServerModeDrive</a>, <a class="el" href="classArServerModeIdle.html#a8739492a9d7f6ad7068c7760726c3274">ArServerModeIdle</a>, <a class="el" href="classArServerModeWander.html#aa6766d994f2b80d1999686757f6bb57a">ArServerModeWander</a>, and <a class="el" href="classArServerModeStop.html#a4443dcf32af692d03a413d89bb8d5659">ArServerModeStop</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#a5701ebb7e5a76845fee0be277c40c13e">modeUserTask()</a>.</p>

</div>
</div>
<a class="anchor" id="ac146b5c1c295c1748807798c4aac4878"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::willUnlockIfRequested </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets whether we'll unlock if requested or not. </p>

<p>References <a class="el" href="classArServerMode.html#aba9a279d8ee8713c3a729bebf4c04b19">ourActiveMode</a>, <a class="el" href="classArServerMode.html#a29396b0b1f3879af968f50fb0edc9fe4">ourActiveModeLocked</a>, and <a class="el" href="classArServerMode.html#a68e83ec188c8902d1d8e8ac9c5f6d1b6">ourActiveModeWillUnlockIfRequested</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#aef0b2b6b2c15781ce4b9e9e9269817cb">isActive()</a>, <a class="el" href="classArServerMode.html#a5c81f4374bca5c809fe74c3fdc204671">lockMode()</a>, and <a class="el" href="classArServerMode.html#a5870d8eebdcb7d0ba50679b87ace7f05">requestUnlock()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ab3cfe4fcad1830d1cd739348b97ec6be"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCallbackList.html">ArCallbackList</a> ArServerMode::myActivateCallbacks</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a9055642c26c7814c7cee551686f73133">addActivateCallback()</a>, <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, and <a class="el" href="classArServerMode.html#ae7684042c77fa0c93a794417fa50a179">remActivateCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a7600d662ad8ed4d258f8a65d0c1bbeed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a> ArServerMode::myActivityTime</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerMode.html#a72957552e992a8a02f679ce15c46de3c">getActivityTime()</a>, <a class="el" href="classArServerMode.html#a0f4c90ee6a9fe47abed59865f2a9ac78">internalSetActivityTime()</a>, and <a class="el" href="classArServerMode.html#aa06c79717f2c05be4be1738e15a286ac">setActivityTimeToNow()</a>.</p>

</div>
</div>
<a class="anchor" id="af0a5cd17d137c15bf671f8c5f708047f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerMode::myActivityTimeMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerMode.html#a72957552e992a8a02f679ce15c46de3c">getActivityTime()</a>, <a class="el" href="classArServerMode.html#a0f4c90ee6a9fe47abed59865f2a9ac78">internalSetActivityTime()</a>, and <a class="el" href="classArServerMode.html#aa06c79717f2c05be4be1738e15a286ac">setActivityTimeToNow()</a>.</p>

</div>
</div>
<a class="anchor" id="aa2e2e158a5421b7ddabd9b29c7eaa729"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCallbackList.html">ArCallbackList</a> ArServerMode::myDeactivateCallbacks</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a0b3c5c9aeaf6b63c6e372cc544bab24c">addDeactivateCallback()</a>, <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, and <a class="el" href="classArServerMode.html#a414a561a1dc614dc5e2ab25a2981c77a">remDeactivateCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="aca9e0fdb6fb3ca81f80387c40cc5cc59"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerMode::myExtendedStatus</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a6e66aee860aa207897d03aa1194428f2">getExtendedStatus()</a>.</p>

</div>
</div>
<a class="anchor" id="a1dda759f1f11f14a403784ce31e0edaf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::myHasSetActivityTime</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, <a class="el" href="classArServerMode.html#a789e20814dce5a0b1662b9e812970b3a">hasSetActivityTime()</a>, <a class="el" href="classArServerMode.html#a0f4c90ee6a9fe47abed59865f2a9ac78">internalSetActivityTime()</a>, and <a class="el" href="classArServerMode.html#aa06c79717f2c05be4be1738e15a286ac">setActivityTimeToNow()</a>.</p>

</div>
</div>
<a class="anchor" id="ae0a97bcc83e1d13b3f09e1f3b9dc5613"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::myIsActive</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, <a class="el" href="classArServerMode.html#aef0b2b6b2c15781ce4b9e9e9269817cb">isActive()</a>, <a class="el" href="classArServerMode.html#a5c81f4374bca5c809fe74c3fdc204671">lockMode()</a>, and <a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a4041998b9de0e5a4b9696b5b386e94b1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerMode::myMode</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerModeJogPosition.html#a6157251fc3b3ca735af747c84ee3a235">ArServerModeJogPosition::activate()</a>, <a class="el" href="classArServerModeIdle.html#ae6092ffbb4125927cd9d451a5fbefb22">ArServerModeIdle::ArServerModeIdle()</a>, <a class="el" href="classArServerModeStop.html#ac826511854107514c4c0fd8c0eafc1b0">ArServerModeStop::ArServerModeStop()</a>, <a class="el" href="classArServerModeWander.html#a055eb3dd20abc6cb3a66fce71668e53f">ArServerModeWander::ArServerModeWander()</a>, <a class="el" href="classArServerModeDrive.html#a3c02b634cdd8997cfec66043bb99b345">ArServerModeDrive::driveJoystick()</a>, <a class="el" href="classArServerMode.html#a1958150b0f5e06d78b0a8e016c2b659b">getMode()</a>, <a class="el" href="classArServerModeRatioDrive.html#a05695d0bfce99671e9285b934932eb75">ArServerModeRatioDrive::ratioDrive()</a>, and <a class="el" href="classArServerMode.html#af030881b4c33da7ad92a9c21d8ae23cd">setMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a49565b6ee2a61ebd916565bc944d9d44"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerMode::myName</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerModeJogPosition.html#a6157251fc3b3ca735af747c84ee3a235">ArServerModeJogPosition::activate()</a>, <a class="el" href="classArServerMode.html#a9acf27a776a00075387380f01d96822c">addModeData()</a>, <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, <a class="el" href="classArServerMode.html#a1a323c4fba120c61e97e86672271f5af">getName()</a>, <a class="el" href="classArServerModeRatioDrive.html#ae511bb3aaf38f80c031c7721d6dda69d">ArServerModeRatioDrive::joyUserTask()</a>, <a class="el" href="classArServerModeRatioDrive.html#a05695d0bfce99671e9285b934932eb75">ArServerModeRatioDrive::ratioDrive()</a>, <a class="el" href="classArServerModeRatioDrive.html#a88962dfc85ceed1d452a9295cfff2f4f">ArServerModeRatioDrive::setSafeDriving()</a>, and <a class="el" href="classArServerModeRatioDrive.html#ac572a6898a8ab1e15b0c548075c7b2e9">ArServerModeRatioDrive::setUseLocationDependentDevices()</a>.</p>

</div>
</div>
<a class="anchor" id="ae437152464cfb29e87ce7fa6c3500416"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a>* ArServerMode::myRobot</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerModeStop.html#a701b1ae94cfda807e9f3d6c51a9fc53f">ArServerModeStop::activate()</a>, <a class="el" href="classArServerModeWander.html#a6c77fb01f8cc4f5fc1cfe5d49a858310">ArServerModeWander::activate()</a>, <a class="el" href="classArServerModeIdle.html#a84867b663457084418b188714cee227f">ArServerModeIdle::activate()</a>, <a class="el" href="classArServerModeJogPosition.html#a6157251fc3b3ca735af747c84ee3a235">ArServerModeJogPosition::activate()</a>, <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, <a class="el" href="classArServerModeDrive.html#ab597ca947ca6d711a7694e49b00a3d37">ArServerModeDrive::ArServerModeDrive()</a>, <a class="el" href="classArServerModeIdle.html#ae6092ffbb4125927cd9d451a5fbefb22">ArServerModeIdle::ArServerModeIdle()</a>, <a class="el" href="classArServerModeJogPosition.html#a154ee4fbdf5629e5df295c8a9bd7e4d2">ArServerModeJogPosition::ArServerModeJogPosition()</a>, <a class="el" href="classArServerModeRatioDrive.html#a084495b3b4b72574b0fa7f4f44ad3c4e">ArServerModeRatioDrive::ArServerModeRatioDrive()</a>, <a class="el" href="classArServerModeStop.html#ac826511854107514c4c0fd8c0eafc1b0">ArServerModeStop::ArServerModeStop()</a>, <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerModeJogPosition.html#ac0be44b91245424cc158f620084478c0">ArServerModeJogPosition::deactivate()</a>, <a class="el" href="classArServerModeDrive.html#a3c02b634cdd8997cfec66043bb99b345">ArServerModeDrive::driveJoystick()</a>, <a class="el" href="classArServerModeJogPosition.html#ab8928d2b01fa6c68bfc6c8ea03caf47a">ArServerModeJogPosition::heading()</a>, <a class="el" href="classArServerModeRatioDrive.html#ae511bb3aaf38f80c031c7721d6dda69d">ArServerModeRatioDrive::joyUserTask()</a>, <a class="el" href="classArServerModeJogPosition.html#a73a0d95fef4dac3f11f8daff6a340d12">ArServerModeJogPosition::move()</a>, <a class="el" href="classArServerModeStop.html#a20fbc6d1a4f90c1cc5bb804086ca7dbb">ArServerModeStop::netStop()</a>, <a class="el" href="classArServerModeWander.html#a432017b4c8052c3b267d0612ed438cb3">ArServerModeWander::netWander()</a>, <a class="el" href="classArServerModeRatioDrive.html#a05695d0bfce99671e9285b934932eb75">ArServerModeRatioDrive::ratioDrive()</a>, <a class="el" href="classArServerModeDrive.html#a44ab3cbb734859235c736ce72714e0b8">ArServerModeDrive::serverDriveJoystick()</a>, <a class="el" href="classArServerModeRatioDrive.html#ada4c9dab13063c2ce20efc3893ed07e8">ArServerModeRatioDrive::serverRatioDrive()</a>, <a class="el" href="classArServerModeDrive.html#af951e44f10482836715216c01d867d80">ArServerModeDrive::serverSafeDrivingDisable()</a>, <a class="el" href="classArServerModeDrive.html#ac1132755c2b8ef0aba3ed6f42ee15310">ArServerModeDrive::serverSafeDrivingEnable()</a>, <a class="el" href="classArServerModeRatioDrive.html#a88962dfc85ceed1d452a9295cfff2f4f">ArServerModeRatioDrive::setSafeDriving()</a>, <a class="el" href="classArServerModeStop.html#a14376fd5821f1c18f005fa364da486d9">ArServerModeStop::setUseLocationDependentDevices()</a>, <a class="el" href="classArServerModeIdle.html#aaee43395c6803b5bec1c6f9d3ceb5b26">ArServerModeIdle::setUseLocationDependentDevices()</a>, <a class="el" href="classArServerModeRatioDrive.html#ac572a6898a8ab1e15b0c548075c7b2e9">ArServerModeRatioDrive::setUseLocationDependentDevices()</a>, <a class="el" href="classArServerModeJogPosition.html#a69b33cd7db01379423918dd363cd201c">ArServerModeJogPosition::turn()</a>, <a class="el" href="classArServerModeStop.html#a4443dcf32af692d03a413d89bb8d5659">ArServerModeStop::userTask()</a>, <a class="el" href="classArServerModeWander.html#aa6766d994f2b80d1999686757f6bb57a">ArServerModeWander::userTask()</a>, <a class="el" href="classArServerModeIdle.html#a8739492a9d7f6ad7068c7760726c3274">ArServerModeIdle::userTask()</a>, <a class="el" href="classArServerModeDrive.html#a4367ea5ca3e469de40aac68f32758590">ArServerModeDrive::userTask()</a>, and <a class="el" href="classArServerModeRatioDrive.html#a662446425208fdbc3479bd7bab4bbd2c">ArServerModeRatioDrive::userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="aa9b2f709812b30d3baa0715e06972ed1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerBase.html">ArServerBase</a>* ArServerMode::myServer</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a9acf27a776a00075387380f01d96822c">addModeData()</a>, <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, <a class="el" href="classArServerModeDrive.html#ab597ca947ca6d711a7694e49b00a3d37">ArServerModeDrive::ArServerModeDrive()</a>, <a class="el" href="classArServerModeJogPosition.html#a154ee4fbdf5629e5df295c8a9bd7e4d2">ArServerModeJogPosition::ArServerModeJogPosition()</a>, <a class="el" href="classArServerModeRatioDrive.html#a084495b3b4b72574b0fa7f4f44ad3c4e">ArServerModeRatioDrive::ArServerModeRatioDrive()</a>, <a class="el" href="classArServerModeStop.html#ac826511854107514c4c0fd8c0eafc1b0">ArServerModeStop::ArServerModeStop()</a>, <a class="el" href="classArServerModeWander.html#a055eb3dd20abc6cb3a66fce71668e53f">ArServerModeWander::ArServerModeWander()</a>, <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerMode.html#aeccf06f0f128f489f56cd07b966ac2b4">checkBroadcastModeInfoPacket()</a>, and <a class="el" href="classArServerModeIdle.html#a8739492a9d7f6ad7068c7760726c3274">ArServerModeIdle::userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="abbd1f1899687d626098ef8ccd976e180"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::mySetActivityThisCycle</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, <a class="el" href="classArServerMode.html#a0f4c90ee6a9fe47abed59865f2a9ac78">internalSetActivityTime()</a>, <a class="el" href="classArServerMode.html#a5701ebb7e5a76845fee0be277c40c13e">modeUserTask()</a>, and <a class="el" href="classArServerMode.html#aa06c79717f2c05be4be1738e15a286ac">setActivityTimeToNow()</a>.</p>

</div>
</div>
<a class="anchor" id="a962670b48e5e976e6db615d2ed2a182f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCallbackList.html">ArCallbackList</a> ArServerMode::mySingleShotDeactivateCallbacks</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#adce5560f71d030e46eb2aca69028d7aa">addSingleShotDeactivateCallback()</a>, <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, and <a class="el" href="classArServerMode.html#acbf53ef90c389f4b1b652e05aae4c826">remSingleShotDeactivateCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a4c54b1999a387825eeb937e12ea32ab6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCallbackList.html">ArCallbackList</a> ArServerMode::mySingleShotPostDeactivateCallbacks</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a630990922aa0d3db1b624d0f06005e25">addSingleShotPostDeactivateCallback()</a>, <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, and <a class="el" href="classArServerMode.html#a08ec815d73e0835e18446fc3444e2d5c">remSingleShotPostDeactivateCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="afa94143f88b10591b5f80c63d5a6797f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerMode::myStatus</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerModeStop.html#a701b1ae94cfda807e9f3d6c51a9fc53f">ArServerModeStop::activate()</a>, <a class="el" href="classArServerModeWander.html#a6c77fb01f8cc4f5fc1cfe5d49a858310">ArServerModeWander::activate()</a>, <a class="el" href="classArServerModeIdle.html#ae6092ffbb4125927cd9d451a5fbefb22">ArServerModeIdle::ArServerModeIdle()</a>, <a class="el" href="classArServerMode.html#a79c34eb7c604eb4c292f45fb976ccaea">getStatus()</a>, <a class="el" href="classArServerModeJogPosition.html#ab8928d2b01fa6c68bfc6c8ea03caf47a">ArServerModeJogPosition::heading()</a>, <a class="el" href="classArServerModeJogPosition.html#a73a0d95fef4dac3f11f8daff6a340d12">ArServerModeJogPosition::move()</a>, <a class="el" href="classArServerMode.html#a3ccc40a4a377d006dc4ab77e0841ee8b">setStatus()</a>, <a class="el" href="classArServerModeJogPosition.html#a69b33cd7db01379423918dd363cd201c">ArServerModeJogPosition::turn()</a>, <a class="el" href="classArServerModeStop.html#a4443dcf32af692d03a413d89bb8d5659">ArServerModeStop::userTask()</a>, <a class="el" href="classArServerModeIdle.html#a8739492a9d7f6ad7068c7760726c3274">ArServerModeIdle::userTask()</a>, <a class="el" href="classArServerModeDrive.html#a4367ea5ca3e469de40aac68f32758590">ArServerModeDrive::userTask()</a>, and <a class="el" href="classArServerModeRatioDrive.html#a662446425208fdbc3479bd7bab4bbd2c">ArServerModeRatioDrive::userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a63534616025bba5c532b5b3e385d2e4a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::myStatusSetThisCycle</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, <a class="el" href="classArServerMode.html#a3ccc40a4a377d006dc4ab77e0841ee8b">setStatus()</a>, <a class="el" href="classArServerModeDrive.html#a4367ea5ca3e469de40aac68f32758590">ArServerModeDrive::userTask()</a>, and <a class="el" href="classArServerModeRatioDrive.html#a662446425208fdbc3479bd7bab4bbd2c">ArServerModeRatioDrive::userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="adca90d0d23c68ee14dc62095c3d6c336"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a> ArServerMode::myVerboseLogLevel</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, <a class="el" href="classArServerMode.html#a5c81f4374bca5c809fe74c3fdc204671">lockMode()</a>, and <a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode()</a>.</p>

</div>
</div>
<a class="anchor" id="aba9a279d8ee8713c3a729bebf4c04b19"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerMode.html">ArServerMode</a> * ArServerMode::ourActiveMode = NULL</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, <a class="el" href="classArServerMode.html#a76e39322bbaf7429fece462b3245bea9">buildModeInfoPacket()</a>, <a class="el" href="classArServerMode.html#aeccf06f0f128f489f56cd07b966ac2b4">checkBroadcastModeInfoPacket()</a>, <a class="el" href="classArServerMode.html#a3d12ee9d79a46c35b3af45223b771e3f">getActiveMode()</a>, <a class="el" href="classArServerMode.html#af7b38792e1c67ba86b86dbe23be05763">getActiveModeActivityTimeSecSince()</a>, <a class="el" href="classArServerMode.html#a5ab05a0554d8b418af6c53812278577c">getActiveModeExtendedStatusString()</a>, <a class="el" href="classArServerMode.html#a85b865d2651047bedfaddcf5771d0721">getActiveModeModeString()</a>, <a class="el" href="classArServerMode.html#a18c24eabbec199ba6f0311f5cb80cd2f">getActiveModeStatusString()</a>, <a class="el" href="classArServerMode.html#a5759f053d1e95063917373035728f667">isLocked()</a>, <a class="el" href="classArServerModeRatioDrive.html#ae511bb3aaf38f80c031c7721d6dda69d">ArServerModeRatioDrive::joyUserTask()</a>, <a class="el" href="classArServerMode.html#a5c81f4374bca5c809fe74c3fdc204671">lockMode()</a>, <a class="el" href="classArServerMode.html#a5701ebb7e5a76845fee0be277c40c13e">modeUserTask()</a>, <a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode()</a>, and <a class="el" href="classArServerMode.html#ac146b5c1c295c1748807798c4aac4878">willUnlockIfRequested()</a>.</p>

</div>
</div>
<a class="anchor" id="a29396b0b1f3879af968f50fb0edc9fe4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::ourActiveModeLocked = false</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, <a class="el" href="classArServerMode.html#a76e39322bbaf7429fece462b3245bea9">buildModeInfoPacket()</a>, <a class="el" href="classArServerMode.html#aeccf06f0f128f489f56cd07b966ac2b4">checkBroadcastModeInfoPacket()</a>, <a class="el" href="classArServerMode.html#a5759f053d1e95063917373035728f667">isLocked()</a>, <a class="el" href="classArServerModeRatioDrive.html#ae511bb3aaf38f80c031c7721d6dda69d">ArServerModeRatioDrive::joyUserTask()</a>, <a class="el" href="classArServerMode.html#a5c81f4374bca5c809fe74c3fdc204671">lockMode()</a>, <a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode()</a>, and <a class="el" href="classArServerMode.html#ac146b5c1c295c1748807798c4aac4878">willUnlockIfRequested()</a>.</p>

</div>
</div>
<a class="anchor" id="a32ee20e608421d5246c595a388eaa4b5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::ourActiveModeSetActivityThisCycle = false</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#ad916f018e9bf69303f495d2aa28afd85">getActiveModeSetActivityThisCycle()</a>, and <a class="el" href="classArServerMode.html#a5701ebb7e5a76845fee0be277c40c13e">modeUserTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a68e83ec188c8902d1d8e8ac9c5f6d1b6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::ourActiveModeWillUnlockIfRequested = false</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a76e39322bbaf7429fece462b3245bea9">buildModeInfoPacket()</a>, <a class="el" href="classArServerMode.html#aeccf06f0f128f489f56cd07b966ac2b4">checkBroadcastModeInfoPacket()</a>, <a class="el" href="classArServerMode.html#a5c81f4374bca5c809fe74c3fdc204671">lockMode()</a>, <a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode()</a>, and <a class="el" href="classArServerMode.html#ac146b5c1c295c1748807798c4aac4878">willUnlockIfRequested()</a>.</p>

</div>
</div>
<a class="anchor" id="a1fdf8b2a83b3ef3cd0aa0acb46ffdcdf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerMode.html">ArServerMode</a> * ArServerMode::ourBroadcastActiveMode = NULL</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#aeccf06f0f128f489f56cd07b966ac2b4">checkBroadcastModeInfoPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ab571f12a0878959d134ee2bc214d816a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::ourBroadcastActiveModeLocked = false</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#aeccf06f0f128f489f56cd07b966ac2b4">checkBroadcastModeInfoPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a525e08c21cc9f8941e9dac299f631997"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::ourBroadcastActiveModeWillUnlockIfRequested = false</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#aeccf06f0f128f489f56cd07b966ac2b4">checkBroadcastModeInfoPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a1cd6a6ab0d0159f008a59f85d97a213d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt; <a class="el" href="classArServerMode.html">ArServerMode</a> * &gt; ArServerMode::ourDefaultModes</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#ac071f8179603fecc38d69f8e89e88f34">addAsDefaultMode()</a>, <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, and <a class="el" href="classArServerMode.html#a5701ebb7e5a76845fee0be277c40c13e">modeUserTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a68762e76a0771a993f80c2dd3ad36827"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGlobalFunctor2.html">ArGlobalFunctor2</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; ArServerMode::ourGetModeBusyCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a6187581ea0bd2b84a94f8b73fc4669fb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGlobalFunctor2.html">ArGlobalFunctor2</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; ArServerMode::ourGetModeDataListCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a337373063bac19e1c46d5f72caed64de"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGlobalFunctor2.html">ArGlobalFunctor2</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; ArServerMode::ourGetModeInfoCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a9e3ab7fc3bce2ef1d0cb849c3563a122"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerModeIdle.html">ArServerModeIdle</a> * ArServerMode::ourIdleMode = NULL</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, <a class="el" href="classArServerMode.html#a62adbda73b582fcbb56c2ecdaf6ff52f">getIdleMode()</a>, and <a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode()</a>.</p>

</div>
</div>
<a class="anchor" id="ac4163f344f000fd6991ba2b38390f06a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::ourIdleModeCreated = false</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a7dcd3b6ac6729d2b31d95f5e1bc1781b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerMode::ourIdleModeMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a87dbecb73ca88e29816c93c45089d710"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::ourIsBusy = false</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#af778e02b6962d25b53489a568b851d8e">getModeBusy()</a>, and <a class="el" href="classArServerMode.html#a5701ebb7e5a76845fee0be277c40c13e">modeUserTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a37b5871079b35f4e03f5ae42ff9099db"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerMode.html">ArServerMode</a> * ArServerMode::ourLastActiveMode = NULL</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, and <a class="el" href="classArServerMode.html#afd94f60638f8c31941fb4002ad0d5185">getLastActiveMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a181e8411133da147fcf5e49b3aa54b75"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::multimap&lt; std::string, std::string &gt; ArServerMode::ourModeDataMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a9acf27a776a00075387380f01d96822c">addModeData()</a>, and <a class="el" href="classArServerMode.html#a8190970059f9c792a223abcb6e082a78">getModeDataList()</a>.</p>

</div>
</div>
<a class="anchor" id="afa2626f90d550bb3bcb0652b11c2c101"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerMode::ourModeDataMapMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a9acf27a776a00075387380f01d96822c">addModeData()</a>, <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, and <a class="el" href="classArServerMode.html#a8190970059f9c792a223abcb6e082a78">getModeDataList()</a>.</p>

</div>
</div>
<a class="anchor" id="a85e8f155bd5564e5876c05cfe45bf594"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt; <a class="el" href="classArServerMode.html">ArServerMode</a> * &gt; ArServerMode::ourModes</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a600992a4fddda1410dbc275886dfe3bb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerMode.html">ArServerMode</a> * ArServerMode::ourNextActiveMode = NULL</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, and <a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a14c37dde86119df95e719051a6f35b05"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt; <a class="el" href="classArServerMode.html">ArServerMode</a> * &gt; ArServerMode::ourRequestedActivateModes</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">baseActivate()</a>, <a class="el" href="classArServerMode.html#a9b36a9994a87a9446a7897c80c640e14">baseDeactivate()</a>, <a class="el" href="classArServerMode.html#a25746e810a80c943a0b8f955e4a085f4">getRequestedActivateModes()</a>, and <a class="el" href="classArServerMode.html#a746568cbafdc300088c404234fc18973">unlockMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a89d8016220a4304344c3b5d460b6ae0b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerBase.html">ArServerBase</a> * ArServerMode::ourServerBase = NULL</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>, and <a class="el" href="classArServerMode.html#a5701ebb7e5a76845fee0be277c40c13e">modeUserTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a1991e7c90fb5a279ade61870495e9f78"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerMode::ourUserTaskAdded = false</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a159712d2003b1dd822787df6bc49b5ce"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGlobalFunctor.html">ArGlobalFunctor</a> ArServerMode::ourUserTaskCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="ArServerMode_8h.html">ArServerMode.h</a></li>
<li><a class="el" href="ArServerMode_8cpp.html">ArServerMode.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArServerMode.html">ArServerMode</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
